Open Epicccal opened 1 year ago
测试环境 域名: testad.com KDC: Windows Server 2012 R2
Ubuntu20.04 ( WatchAD2, Docker部署)
Ubuntu20.04 未加入 testad.com
在部署时,.env 文件采用如下配置
.env
#域控配置 DCNAME="testad.com" DCSERVER=172.16.33.144 DCUSER="administrator" DCPWD="P@ssw0rd"
此时 watchad20_iatp 存在报错 域注册失败: 未查询到域控制器, 抓包看了下是登陆凭证无效。
watchad20_iatp
域注册失败: 未查询到域控制器
查询了一些 文档,感觉上是 Ubuntu 在域外的原因。修改 DCUSER 值,添加域名,即能LDAP绑定成功。
// 以下两种修改方式都可以使 LDAP 绑定成功 DCUSER = "administrator@testad.com" DCUSER = "testad\\administrator"
随后进入 Web 页面,使用相同的用户名,密码登陆,发现报错 Network Errror
Network Errror
watchad20_iatp 报错如下
HTTP Server] http: panic serving 172.16.33.1:58531: runtime error: index out of range [0] with length 0 goroutine 499 [running]: net/http.(*conn).serve.func1(0xc0005b7680) /usr/local/go/src/net/http/server.go:1801 +0x147 panic(0x1251060, 0xc0002c56a0) /usr/local/go/src/runtime/panic.go:975 +0x47a iatp/iatp_wbm/controllers.(*UserController).PostLogin(0xc0002ac960, 0x0, 0x0) /go/src/iatp_opensource/iatp_wbm/controllers/user_controller.go:140 +0x856
看着是在验证成功后,查ldap去拿 displayName, 但是没拿到, entrys 为 nil。
// WatchAD2.0/iatp_wbm/controllers/user_controller.go if login { c.Session.Set("authenticated", true) entrys := auth_client.SearchEntryByCN(user_name, []string{"displayName"}, nil) c.Session.Set("user_name", entrys[0].GetAttributeValue("displayName")) } else { return mvc.Response{ Code: 500, Object: map[string]interface{}{ "status": 500, "msg": "验证失败", }, } }
这里直接把 user_name 带入 ldap 查询。拿 ldp 试了下,只能为 administrator; 而 administrator@testad.com、testad\administrator 这两个都不行。
administrator
administrator@testad.com
testad\administrator
因此这里始终存在冲突。
师傅们看下能否解决这个问题。 感谢!!!
师傅辛苦看下最新的readme和代码,我们对配置项做了说明,看下能否解决掉报错~
测试环境 域名: testad.com KDC: Windows Server 2012 R2
Ubuntu20.04 ( WatchAD2, Docker部署)
Ubuntu20.04 未加入 testad.com
在部署时,
.env
文件采用如下配置此时
watchad20_iatp
存在报错域注册失败: 未查询到域控制器
, 抓包看了下是登陆凭证无效。查询了一些 文档,感觉上是 Ubuntu 在域外的原因。修改 DCUSER 值,添加域名,即能LDAP绑定成功。
随后进入 Web 页面,使用相同的用户名,密码登陆,发现报错
Network Errror
watchad20_iatp
报错如下看着是在验证成功后,查ldap去拿 displayName, 但是没拿到, entrys 为 nil。
这里直接把 user_name 带入 ldap 查询。拿 ldp 试了下,只能为
administrator
; 而administrator@testad.com
、testad\administrator
这两个都不行。因此这里始终存在冲突。
administrator
无法查询到域控制器,但应该能登陆成功testad\administrator
、administrator@testad.com
可以查询到域控制器,但登陆时会报错 "Network Error"师傅们看下能否解决这个问题。 感谢!!!