我们计划让我们的软件客户完全在 Active Directory 中配置用户及其权限。
一旦 AD 用户成为 AD 组“SoftwareXyz”的成员,他就可以登录并使用我们的软件。
我见过其他软件产品也这样做。
现在,我想更进一步。诸如“允许用户编辑报告”之类的权限也应该在 LDAP 中得到有效管理。
实现这一目标的最佳或最常见的方法是什么?
- 为每个权限创建 AD 组?例如“SoftwareXyz#Permissions#PermitEditReports”
- 或者我是否能够在 AD 中创建自定义权限,以便我的客户可以将其附加到他的用户身上?
- 或者有其他方法可以解决这个问题?
答案1
除非您要管理的功能非常有限,否则您不应该为每个功能创建一个 AD 组,因为您会遇到很多问题当 Kerberos 票证变得太大时。
但是,您可以创建一组有限的角色,这些角色将通过 AD 组(如“报告查看者”)进行管理,并反过来授予对一系列功能的访问权限(无需在 AD 中定义)。
如果您有数据库,您可以允许客户AD Group <-> Roles <-> Features
在您的数据库中创建自己的角色并管理关系。