用 ldap 做统一的用户管理验证合适吗?

2018-07-05 17:52:20 +08:00
 rockyou12

内部系统太多了( git,nexus,nextcloud 这些一堆),然后公司人员也在慢慢增加。大家的账号密码每个系统都是单独在管理,经常会有人忘记密码找我重置……实在是太麻烦了

今天试了下 ldap,发现好像并不能解决问题,不同系统读目录的时候要的属性都有些小差别,然后用 ldap 密码好像也没办法让用户自己去重置。

是我用法不对?还是有其他解决方案?

12466 次点击
所在节点    DevOps
14 条回复
zhengxiaowai
2018-07-05 17:58:11 +08:00
当然可以,集团用 ldap 管理所有公司账户
smileawei
2018-07-05 18:00:29 +08:00
ldap 本身是个树状管理 如果内部有域控 就用域控做就行 配合 oauth 做 sso
imnpc
2018-07-05 18:02:02 +08:00
这个需要所有的软件做二次开发 来支持 Ldap
zjqzxc
2018-07-05 18:03:52 +08:00
最简单的方法:部署一套密码管理器(大误)
rockyou12
2018-07-05 18:09:20 +08:00
@zhengxiaowai
@smileawei
可能我表述不清楚,用的软件系统基本都不是自己开发的,都是开源或者第三方的。各个系统读取的 ldap 字段,类型有些差异……
knktc
2018-07-05 18:09:21 +08:00
在公司人员继续壮大到不可控前赶紧上 LDAP,要不以后可有得难受了~
大部分开源的系统还是支持 LDAP 的,至于修改密码的功能,可以自己实现一个简单的系统,包含:新员工注册、用户信息修改等功能
Daming
2018-07-05 18:13:44 +08:00
LDAP 不就是为了干这事的吗?赶紧上。
julyclyde
2018-07-05 18:28:20 +08:00
用“裸” ldap 不合适
建议使用 windows 域,或者 freeipa
Hasal
2018-07-05 18:49:42 +08:00
以 LDAP 为基础,开发 SSO 系统,其它系统接入 SSO,认证通过 SSO,每个系统里的权限控制自己实现。
smileawei
2018-07-05 22:54:06 +08:00
@rockyou12 #5 gitlab 是支持直连 ldap 和 oauth 的 sso 的方式的。其他也大同小异。ldap 可以说是终极方案了。
saulshao
2018-07-06 08:51:27 +08:00
LDAP 是历史悠久的用户认证方法,但是这个东西通常只用于用于认证,而不用于授权。
理论上所有支持 LDAP 协议的系统,都可以通过简单配置实现基于 LDAP 的用户认证,PO 主提到的每个系统使用的字段不一样,一般都是指每个系统显示的字段不同。例如用户名字,可能 A 系统用的是 LDAP 中的 LAST name,B 系统则是用 Last+first name。
这种情况通常的办法是不去管它......
corningsun
2018-07-06 09:06:36 +08:00
可以考虑部署一套小 CA,给每个用户发一张数字证书,后续加网关做证书认证,可以实现自动登录,内网 vpn 登陆等功能。

通过网关代理的优点:

* 所有服务走 https 认证
* 可以在 cookie 中绑定证书项,用户名、身份证号、手机等,所以应用系统改造还是比较简单的。
rockyou12
2018-07-06 09:17:04 +08:00
感谢大家,看来不仅要用 ldap,还得自己开发套系统来完善功能才行
anubu
2018-07-07 07:46:46 +08:00
最近也是碰到一样的问题,内部系统太多了,增删账号比较痛苦。初步了解了一下 LDAP,连个合适的管理面板都没找到,似乎必须要配合其他组件或者二次开发才好用。准备再了解一下 AD,似乎能提供更容易上手的方案。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/468437

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX