【发布时间】:2012-10-23 11:31:04
【问题描述】:
我想为我的多台机器创建一个使用 LDAP 的身份验证系统。
我已经创建了一个基本结构,但我不确定它是否是最佳解决方案。
基础:
我有机器 M1、M2、M3、M5(其中有数据库 D1、D2 和 D3)
用户列表 U1, U2, U3, U4, U5, U6, U7, U8, U9, U10
用户类型 - 阅读器(机器特定)、编写器(机器特定)、经理
要求:
每台机器都可以有读写器用户集
Write 用户就像他们各自机器的管理员
读取用户的权限非常有限,只能读取可用数据库中的少数数据库
使用的方法:
创建了一个节点,其中包含所有用户及其密码信息的列表,也允许数据库
使用角色占用者列表创建了经理角色
为每台机器创建了 2 个角色(读者、作者),并具有各自的角色占用
定义的访问控制
现在,当用户说 U1 尝试读取机器 M4 的数据库 D2...首先他必须在用户列表中,然后他必须是 M4 机器的角色占用或读写器角色...
我的问题出现在这里
1.要检查他是否被允许读取数据库D2,我们必须搜索用户节点以获取数据库信息,看看它是否包含D2。
另一个问题是
2。如果我想删除一个用户,很容易从用户节点中删除,但角色占用条目不会那么容易删除。
(我必须在每个服务器的读者和作者角色中搜索以检查他是否是角色占用者)
那么有没有更好的方法来设计 DIT,所以没有。管理 ldap 信息的步骤减少了??
...还有什么更好的方法来检查数据库访问??
【问题讨论】: