仅允许管理用户登录的 OpenAM 身份验证链?
OpenAM auth chain that allows login for Administrative users only?
场景:
我有一个只配置了默认领域的 OpenAM
实例。我已经使用单个 LDAP
模块设置了我的组织验证链,该模块允许我的用户自行注册。
我还设置了另一个链,称为 adminChain
并设置为管理员验证链,具有单个 Data Store
模块,以便 amAdmin
用户使用/console
url.
问题:
我的问题是第二条链也允许来自 LDAP
数据存储的非管理员用户登录,这实际上是有道理的,因为它使用的是 DataStore
模块。但是我怎样才能阻止普通用户使用管理链登录呢?我希望它们仅限于特定链。
您应该使用根领域进行管理,使用子领域进行操作。
事实上,当 OpenAM 配置为支持请求的操作时,它会使用领域中所有已配置的用户数据存储。
作为解决方法,您可以将用户数据存储配置中 Authentication Naming Attribute
的值设置为条目中不存在的属性。这将使普通用户的 'datastore' 身份验证失败。 AmAdmin 仍然可以进行身份验证,因为此身份存储在一个特殊的数据存储中,它不会出现在 OpenAM 配置中。
请注意,您可能会遇到错误,因为在旧版本中,在身份验证期间会利用 DN-Cache。
场景:
我有一个只配置了默认领域的 OpenAM
实例。我已经使用单个 LDAP
模块设置了我的组织验证链,该模块允许我的用户自行注册。
我还设置了另一个链,称为 adminChain
并设置为管理员验证链,具有单个 Data Store
模块,以便 amAdmin
用户使用/console
url.
问题:
我的问题是第二条链也允许来自 LDAP
数据存储的非管理员用户登录,这实际上是有道理的,因为它使用的是 DataStore
模块。但是我怎样才能阻止普通用户使用管理链登录呢?我希望它们仅限于特定链。
您应该使用根领域进行管理,使用子领域进行操作。
事实上,当 OpenAM 配置为支持请求的操作时,它会使用领域中所有已配置的用户数据存储。
作为解决方法,您可以将用户数据存储配置中 Authentication Naming Attribute
的值设置为条目中不存在的属性。这将使普通用户的 'datastore' 身份验证失败。 AmAdmin 仍然可以进行身份验证,因为此身份存储在一个特殊的数据存储中,它不会出现在 OpenAM 配置中。
请注意,您可能会遇到错误,因为在旧版本中,在身份验证期间会利用 DN-Cache。