4.3.3. 决定组和角色之间的
角色和组可以实现相同的目标。受管角色可以执行静态组可以执行的操作,而过滤的角色则可过滤和识别成员,方式与动态组相同。角色和组都有优点和缺点。决定是否使用角色或组,还是混合取决于您的要求和服务器资源。
角色降低了客户端复杂性。使用角色时,客户端应用程序可以通过搜索条目中的 nsRole 操作属性来检查角色成员资格。此多值属性标识条目所属的每个角色。从客户端应用程序视图中,检查成员资格的方法统一并在服务器端执行。
但是,角色需要增加服务器复杂性。与评估组相比,评估角色对目录服务器的资源密集型,因为服务器能够为客户端应用工作。
组需要更智能且更复杂的客户端来有效地使用它们。例如,从应用程序角度而言,动态组不提供服务器中的支持,以提供组成员列表。相反,应用会检索组定义,然后运行过滤器。只有在配置适当的插件时,用户条目才会包含组成员资格信息。
您可以使用 MemberOf 插件来平衡组成员资格。当用户添加到组时,MemberOf 插件会在用户条目中动态创建 memberOf 属性。客户端可以在组条目上运行单个搜索,以获取其所有成员的列表,或者对用户条目进行单个搜索来获取它所属的所有组的完整列表。
只有修改成员资格时,服务器才会有维护开销。由于目录服务器同时将指定 的成员 (组)和 memberOf (用户)属性存储在数据库中,所以搜索不需要额外的处理,这会使从客户端进行搜索非常高效。