在OpenAM 13中检查自定义LDAP属性

时间:2016-12-14 16:04:49

标签: authentication ldap single-sign-on openam

我正在使用OpenAM 13为一套应用程序提供单点登录功能。身份验证本身由LDAP提供,因为此单点登录范围之外的其他应用程序使用现有LDAP存储。

每个用户LDAP记录都添加了一个名为userattrib1的自定义属性。当此属性设置为999时,不允许用户登录单点登录,对于允许其登录的所有其他值。我意识到这是一个不寻常的设置,但这是预先存在的应用程序的一部分。

我如何配置OpenAM 13以支持此检查?我想避免在最终用户应用程序中执行此检查,因为有几个应用程序我必须添加检查。

1 个答案:

答案 0 :(得分:0)

如果使用LDAP身份验证模块,您可以指定用户搜索过滤器以利用自定义属性。

然而,不像

那样的搜索过滤器
userattrib1 != 999

通常会导致非索引搜索并且无法真正使用,相反,您应该检查您拥有多少个不同的“传递”值,然后在复合过滤器中使用它,如

(|(userattrib1=123)(userattrib1=124)(userattrib1=125)(userattrib1=126))

可能你甚至可以将值“分组”以使用像

这样的子字符串过滤器
userattrib1=12*

取决于所使用的过滤器,您需要为属性 userattrib1 配置的等式索引或/和子字符串索引