我试图编写一个LoginModule来使用Jackrabbit存储库对用户进行身份验证.但是,我希望它检查存储在存储库本身中的凭据.所以问题是,在我的LoginModule中,我必须再次连接到存储库,使其成为无限循环.有什么我可以做的吗?
解决方法:
有2种基本方法:
>向配置了LoginModule的Jackrabbit存储库提供管理员登录名,以便它始终能够连接到该存储库.当以管理员用户身份连接时,请使用提供的凭据(对于正在认证的普通用户)查询存储库,以对其进行身份验证.
>或者,让所有用户都使用Jackrabbit登录名进行设置,因此,您可以尝试使用提供的凭据进行连接,而不是使用Admin登录名进行连接,如果您进行连接,则表明用户已成功连接(通过这种方法,我通常会做一个简单的查询以再次检查连接是否有效(例如,在存储库中查找用户的真实姓名).
在这两种情况下,LoginModule都应包含直接连接到Jackrabbit的代码,并且不需要LoginModule将其自身连接到存储库.
标签:jcr,jackrabbit,jaas,jsr170,java
来源: https://codeday.me/bug/20191024/1919436.html