java - 使用自定义 LoginModule 登录 Jackrabbit

标签 java jaas jackrabbit jcr jsr170

我正在尝试编写一个 LoginModule 来使用 Jackrabbit 存储库对用户进行身份验证。但是,我希望它检查存储在存储库本身中的凭据。所以问题是,在我的 LoginModule 中,我必须再次连接到存储库,使其成为一个无限循环。有什么我可以做的吗?

最佳答案

有两种基本方法:

  1. 为 LoginModule 配置的 Jackrabbit 存储库提供管理员登录,以便它始终能够连接到存储库。当以管理员用户身份连接时,使用提供的凭据(对于正在验证的普通用户)查询存储库以对其进行身份验证。

  2. 或者让所有用户都设置 Jackrabbit 登录名,这样您就可以尝试使用提供的凭据连接,而不是使用管理员登录名连接,如果您连接,则用户已成功连接(使用这种方法我通常会做一个简单的查询来仔细检查连接是否有效,例如在存储库中查找用户的真实姓名)。

在这两种情况下,LoginModule 都应该包含直接连接到 Jackrabbit 的代码,并且不应该要求 LoginModule 将其自身连接到存储库。

关于java - 使用自定义 LoginModule 登录 Jackrabbit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1953995/

相关文章:

java - Azure移动服务: send push notification to specific android device

java - 在 MongoDB Java 驱动程序中使用数组字段的项目

java - join() 方法在多线程中如何工作

java - @RolesAllowed 对我的 RESTful 服务没有影响

java - 使用 JAAS 登录模块注销

Vaadin 身份验证和授权

java - 如何从客户端的 webdav 存储库获取文件修订列表

java - Liferay 门户中的文档处理

java - 如何在不损失质量并保持宽高比的情况下缩小图像?

java - Jackrabbit存储库的部署模型