使用自定义LoginModule登录JackRabbit
-
21-09-2019 - |
题
我正在尝试编写一个使用JackRabbit存储库来验证用户的登录模块。但是,我希望它检查存储在存储库本身中的凭据。因此,问题是,在我的登录模块中,我必须再次连接到存储库,使其成为无限循环。我可以做些什么吗?
解决方案
有两种基本方法:
向jackrabbit存储库提供admin登录名,该存储库配置了LoginModule,以便它始终能够连接到存储库。当作为管理员用户查询存储库时,请使用所提供的凭据(对于正在认证的普通用户)以对其进行身份验证。
另外,所有用户都设置了jackrabbit登录名,因此,不要与Admin登录连接,而是尝试与所提供的凭据连接,如果您连接,则可以成功连接用户(使用这种方法,我经常会进行简单的查询要仔细检查连接有效,例如在存储库中查找用户的真实名称)。
在这两种情况下,LoginModule都应包含直接连接到JackRabbit的代码,并且不应要求LoginModule将自身连接到存储库。
其他提示
在里面 杰卡 项目有一个自定义LoginModule(org.jecars.cars_loginmodule)。它使用硬编码管理用户进行第一个访问,并且由于仅通过Servlet可以访问存储库,此时进行检查以防止管理用户的外部使用。
不隶属于 StackOverflow