准备开发 Nodejs 下的企业内应用并实现 RBAC,大致了解了下实现方式,按我的理解是这样的:
或者各位大神有很好的用 Keystone 实现 RBAC 实例可否分享
1
monsterxx03 2017-07-14 09:56:13 +08:00
OpenStack 里的其他服务都是通过一个 middleware 来实现 keystone 的认证的,你可以照着它实现一遍。https://github.com/openstack/keystonemiddleware/blob/master/keystonemiddleware/auth_token/__init__.py
记得几年前 LDAP 的实现基本是废的,现在不知道怎么样。 |
2
alouha 2017-07-14 11:51:34 +08:00
关注下,楼主找到好的方案后麻烦 @下我
|
4
HowardMei 2017-07-28 15:46:46 +08:00
@richiewu 没有现成的,另外你问得也太宽泛,用途是自己 Intranet 用用,还是放到产品里面?准备投入多少开发人力?
如果只是自己 Intranet 里面用,我对 Nodejs 一窍不通,仅以 Django 为例,说下可能的思路: User/Group ID & Auth 由 LDAP 作 Provider,用 https://pypi.python.org/pypi/django-auth-ldap 连接 RBAC Roles/Assignments/Resources/Tokens 用 SQL DB 存储,参考 https://github.com/ging/fiware-idm (参考其 API 设计,不推荐其 Fork keystone 直接改的方式) Authorization Policies 管理,用 Openstack 自己的 https://github.com/openstack/oslo.policy Keystone 处于中间连接位置,相当于 MVC 里的 Controller,剩下 View 的部分不用多讲 如果是放到规模化产品里面,人力又不特别充裕,建议不要自己折腾,老老实实买商业方案集成进去,因为要把 IAM 功能和安全都搞到位,很不容易,特别是安全方面需要专家。 |