YMFE / yapi

YApi 是一个可本地部署的、打通前后端及QA的、可视化的接口管理平台
http://yapi.smart-xwork.cn/
Apache License 2.0
27.36k stars 4.79k forks source link

ldap集成ad域碰到问题 #1192

Open shinji3887 opened 5 years ago

shinji3887 commented 5 years ago

版本号

1.7.0

什么问题

集成微软AD域认证,配置完毕后可以看到ldap登陆选项,输入完域用户及密码后点击登陆按钮无反应 image 配置文件如下

{
   "port": "3000",
   "adminAccount": "admin@admin.com",
   "db": {
      "servername": "127.0.0.1",
      "DATABASE": "yapi",
      "port": "27017"
   },
   "mail": {
      "enable": false,
      "host": "smtp.163.com",
      "port": 465,
      "from": "***@163.com",
      "auth": {
         "user": "***@163.com",
         "pass": "*****"
      }
   },
   "ldapLogin": {
      "enable": true,
      "server": "ldap://22.196.67.64",
      "baseDn": "",
      "bindPassword": "",
      "searchDn": "dc=omr,dc=company,dc=com",
      "searchStandard": "(&(objectCategory=Person)(sAMAccountName=*))",
      "emailPostfix": "",
      "emailKey": "",
      "usernameKey": "sn"
   }
}

日志中也没有报错信息

如何复现此问题

什么浏览器

chrome 75.0

什么系统(Linux, Windows, macOS)

win10

lokinell commented 5 years ago

我也碰到同样的问题

xieyingbiao commented 5 years ago

我也遇到了,不知道你们解决了吗

AllenBean commented 5 years ago

参考如下配置,已经成功可用: "ldapLogin": {       "enable": true,       "server": "ldap://192.168.1.10", //AD域控服务器       "baseDn": "yapi@test.com", //AD域控用对应给与一个认证用户       "bindPassword": "Test1234", //对应认证用户密码       "searchDn": "OU=技术中心,DC=test,DC=com", //可读取的OU路径       "searchStandard": "&(objectCategory=Person)(sAMAccountName=%s)", //MS AD的用户属性       "emailPostfix": "", //非必须可为空       "emailKey": "", //非必须可为空       "usernameKey": "sAMAccountName" 用户登录密码取值为对应用户属性,原因为AD密码不可逆,只取此值   }

xieyingbiao commented 5 years ago

{ "port": "3000", "adminAccount": "admin@admin.com", "db": { "servername": "mongo", "DATABASE": "yapi", "port": 27017 }, "ldapLogin": { "enable": true, "server": "ldap://172.16.61.198:389", "baseDn": "xieyingbiao", "bindPassword": "xyb123456", "searchDn": "DC=panda,DC=com", "searchStandard": "&((objectCategory=person)(objectclass=user))(sAMAccountName=%s)", "emailPostfix": "", "emailKey": "", "usernameKey": "sAMAccountName" } }

------------------ 原始邮件 ------------------ 发件人: "九歌"notifications@github.com; 发送时间: 2019年9月12日(星期四) 中午1:20 收件人: "YMFE/yapi"yapi@noreply.github.com; 抄送: "一片小绿叶。"703526182@qq.com;"Comment"comment@noreply.github.com; 主题: Re: [YMFE/yapi] ldap集成ad域碰到问题 (#1192)

参考如下配置,已经成功可用: "ldapLogin": { "enable": true, "server": "ldap://192.168.1.10", //AD域控服务器 "baseDn": "yapi@test.com", //AD域控用对应给与一个认证用户 "bindPassword": "Test1234", //对应认证用户密码 "searchDn": "OU=技术中心,DC=test,DC=com", //可读取的OU路径 "searchStandard": "&(objectCategory=Person)(sAMAccountName=%s)", //MS AD的用户属性 "emailPostfix": "", //非必须可为空 "emailKey": "", //非必须可为空 "usernameKey": "sAMAccountName" 用户登录密码取值为对应用户属性,原因为AD密码不可逆,只取此值 }

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

AllenBean commented 5 years ago

{“port”:“3000”,“adminAccount”:“admin @ admin.com”,“db”:{“servername”:“mongo”,“DATABASE”:“yapi”,“port”:27017},“ ldapLogin“:{”enable“:true,”server“:”ldap://172.16.61.198:389“,”baseDn“:”xieyingbiao“,”bindPassword“:”xyb123456“,”searchDn“:”DC = panda ,DC = com“,”searchStandard“:”&((objectCategory = person)(objectclass = user))(sAMAccountName =%s)“,”emailPostfix“:”“,”emailKey“:”“,”usernameKey“: “sAMAccountName”}} ... ------------------原始邮件------------------发件人:“九歌”<notifications @ github .COM>; 发送时间:2019年9月12日(星期四)中午1:20收件人:“YMFE / yapi”yapi@noreply.github.com; 抄送:“一片小绿叶。”703526182@qq.com;“评论”comment@noreply.github.com; 主题:Re:[YMFE / yapi] ldap集成ad domain碰到问题(#1192)参考如下配置,已经成功可用:“ldapLogin”:{“enable”:true,“server”:“ldap://192.168.1.10”,// AD域控服务器“baseDn”:“yapi@test.com “,// AD域控用对应给与个个认证用户”bindPassword“:”Test1234“,//对应认证用户密码”searchDn“:”OU =技术中心,DC = test,DC = com“,//可读取的OU路径“searchStandard”:“&(objectCategory = Person)(sAMAccountName =%s)”,// MS AD的用户属性“emailPostfix”:“”,//非必须可为空“emailKey”:“ “,//非必须可为空”usernameKey“:”sAMAccountName“用户登录密码取值为对应用户属性,原因为AD密码不可逆,只取此值} - 您收到的是因为您评论过。直接回复此电子邮件,在GitHub上查看,或将该线程静音。

searchStandard后面改一下,多了()

xieyingbiao commented 5 years ago

感谢您的回复,但是我这边配置好以后,依然登录不上,如果您有时间,方便留个QQ或者微信吗? 谢谢!我的QQ703526182,我的微信18108231993 ,感谢!

------------------ 原始邮件 ------------------ 发件人: "九歌"notifications@github.com; 发送时间: 2019年9月19日(星期四) 凌晨1:42 收件人: "YMFE/yapi"yapi@noreply.github.com; 抄送: "一片小绿叶。"703526182@qq.com;"Comment"comment@noreply.github.com; 主题: Re: [YMFE/yapi] ldap集成ad域碰到问题 (#1192)

{“port”:“3000”,“adminAccount”:“admin @ admin.com”,“db”:{“servername”:“mongo”,“DATABASE”:“yapi”,“port”:27017},“ ldapLogin“:{”enable“:true,”server“:”ldap://172.16.61.198:389“,”baseDn“:”xieyingbiao“,”bindPassword“:”xyb123456“,”searchDn“:”DC = panda ,DC = com“,”searchStandard“:”&((objectCategory = person)(objectclass = user))(sAMAccountName =%s)“,”emailPostfix“:”“,”emailKey“:”“,”usernameKey“: “sAMAccountName”}} ... ------------------原始邮件------------------发件人:“九歌”<notifications @ github .COM>; 发送时间:2019年9月12日(星期四)中午1:20收件人:“YMFE / yapi”yapi@noreply.github.com; 抄送:“一片小绿叶。”703526182@qq.com;“评论”comment@noreply.github.com; 主题:Re:[YMFE / yapi] ldap集成ad domain碰到问题(#1192)参考如下配置,已经成功可用:“ldapLogin”:{“enable”:true,“server”:“ldap://192.168.1.10”,// AD域控服务器“baseDn”:“yapi@test.com “,// AD域控用对应给与个个认证用户”bindPassword“:”Test1234“,//对应认证用户密码”searchDn“:”OU =技术中心,DC = test,DC = com“,//可读取的OU路径“searchStandard”:“&(objectCategory = Person)(sAMAccountName =%s)”,// MS AD的用户属性“emailPostfix”:“”,//非必须可为空“emailKey”:“ “,//非必须可为空”usernameKey“:”sAMAccountName“用户登录密码取值为对应用户属性,原因为AD密码不可逆,只取此值} - 您收到的是因为您评论过。直接回复此电子邮件,在GitHub上查看,或将该线程静音。

searchStandard后面改一下,多了()

— You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

AllenBean commented 5 years ago

感谢您的回复,但是我这边配置好以后,依然登录不上,如果您有时间,方便留个QQ或者微信吗? 谢谢!我的QQ703526182,我的微信18108231993 ,感谢! ------------------ 原始邮件 ------------------ 发件人: "九歌"notifications@github.com; 发送时间: 2019年9月19日(星期四) 凌晨1:42 收件人: "YMFE/yapi"yapi@noreply.github.com; 抄送: "一片小绿叶。"703526182@qq.com;"Comment"comment@noreply.github.com; 主题: Re: [YMFE/yapi] ldap集成ad域碰到问题 (#1192) {“port”:“3000”,“adminAccount”:“admin @ admin.com”,“db”:{“servername”:“mongo”,“DATABASE”:“yapi”,“port”:27017},“ ldapLogin“:{”enable“:true,”server“:”ldap://172.16.61.198:389“,”baseDn“:”xieyingbiao“,”bindPassword“:”xyb123456“,”searchDn“:”DC = panda ,DC = com“,”searchStandard“:”&((objectCategory = person)(objectclass = user))(sAMAccountName =%s)“,”emailPostfix“:”“,”emailKey“:”“,”usernameKey“: “sAMAccountName”}} ... ------------------原始邮件------------------发件人:“九歌”<notifications @ github .COM>; 发送时间:2019年9月12日(星期四)中午1:20收件人:“YMFE / yapi”yapi@noreply.github.com; 抄送:“一片小绿叶。”703526182@qq.com;“评论”comment@noreply.github.com; 主题:Re:[YMFE / yapi] ldap集成ad domain碰到问题(#1192)参考如下配置,已经成功可用:“ldapLogin”:{“enable”:true,“server”:“ldap://192.168.1.10”,// AD域控服务器“baseDn”:“yapi@test.com “,// AD域控用对应给与个个认证用户”bindPassword“:”Test1234“,//对应认证用户密码”searchDn“:”OU =技术中心,DC = test,DC = com“,//可读取的OU路径“searchStandard”:“&(objectCategory = Person)(sAMAccountName =%s)”,// MS AD的用户属性“emailPostfix”:“”,//非必须可为空“emailKey”:“ “,//非必须可为空”usernameKey“:”sAMAccountName“用户登录密码取值为对应用户属性,原因为AD密码不可逆,只取此值} - 您收到的是因为您评论过。直接回复此电子邮件,在GitHub上查看,或将该线程静音。 searchStandard后面改一下,多了() — You are receiving this because you commented. Reply to this email directly, view it on GitHub, or mute the thread.

复制如下配置:

"ldapLogin": { "enable": true, "server": "ldap://172.16.61.198:389", "baseDn": "xieyingbiao@panda.com", "bindPassword": "xyb123456", "searchDn": "DC=panda,DC=com", "searchStandard": "&(objectCategory=Person)(sAMAccountName=%s)", "emailPostfix": "", "emailKey": "", "usernameKey": "sAMAccountName" }

hzilex commented 4 years ago

看了下代码,发现开发人员把baseDN和searchDn写反了。baseDn应该填绑定的用户。 参考以下配置 "ldapLogin": { "enable": true, "server": "ldap://xxx.xxx.xxx.xxx", "baseDn": "CN=xxx,OU=xxx,DC=xxx,DC=xxx", "bindPassword": "xxx", "searchDn": "OU=xxx,DC=xxx,DC=xxx", "searchStandard": "&(sAMAccountName=%s)(objectCategory=user)(objectClass=user)(memberOf=CN=xxx,OU=xxx,DC=xxx,DC=xxxx)",
"emailPostfix": "", "emailKey": "", "usernameKey": "sAMAccountName" }