用于选择性认证的LDAP DIT(目录信息树)设计?

问题描述:

我想为我的多台机器制作一个使用LDAP的认证系统。
我已经创建了一个基本结构,但我不确定它是否是最佳解决方案。用于选择性认证的LDAP DIT(目录信息树)设计?

基地:
我有机器M1,M2,M3,M5(有数据库D1,D2 & D3在其中)的用户U1的
名单,U2,U3,U4,U5,U6,U7 ,U8,U9,U10
类型的用户 - 读卡器(机专用),作家(机专用),经理

要求:
每台机器可以有读写器组用户
写入用户是就像他们各自机器的管理员
读取用户具有非常有限的权限,可以读一些数据库的可用的数据库使用

方法:
创建包含所有用户的列表以及它们的密码信息,还允许数据库节点
与roleoccupents
的列表中创建管理角色创建角色2(读取器,写入器)用于每个电机与相应的roleoccupents
定义的访问控制

现在,当用户说U1试图读取机器M4的数据库D2时...首先他必须在用户列表中,然后他必须是M4机器的角色或读写器角色...

我的问题出现在这里
1.要检查是否允许他读取数据库D2,我们必须搜索用户节点以获取数据库信息并查看它是否包含D2。

另一个问题是,
2.如果我想删除一个用户,很容易从用户节点删除,但roleoccupent条目不会被删除,很容易。 (我必须在每个服务器读写器角色中进行搜索,以检查他是不是一个角色)

那么有没有更好的方式来设计DIT,以便不需要。管理ldap信息的步骤减少了?

...和任何更好的方法来检查数据库访问?

为每个数据库创建一个组织角色条目,并让其roleOccupants成为允许使用它的用户。参照完整性覆盖将解决您关于删除用户输入(或重命名它)的问题。

+0

我认为这是很好的解决方案,但如果我有100台机器和10个数据库,那么我应该创建100 * 10组织角色。 – Gaurav

+0

@Gaurav这是正确的,你有1000个数据库。除非你能以某种方式将它们分组? – EJP