3

我正在尝试使用 Atlassian Crowd 实现 SSO,但令人惊讶的是,缺乏好的文档甚至是示例。

到目前为止,我使用CrowdClient.authenticateSSOUser对用户进行身份验证,如果成功则取回 SSO 令牌(字符串)。然后,我自己(通过 HttpServletResponse)获取这个令牌并将其填充到 cookie 中。在随后的页面访问中,我获取所有 cookie,搜索这个,然后调用CrowdClient.validateSSOAuthentication方法。

我的问题是:我应该为 SSO 使用更多的 Crowd 代码吗?我的手动操作似乎比我预期的要多。

...我确实看到了其他可能性的暗示...例如:

  1. crowd.properties中,您可以指定crowd.token_key,这显然是应用程序应该使用什么名称将令牌存储在 cookie 中(尽管设置此值不会神奇地实现)。

  2. 诸如CrowdHttpTokenHelper之类的东西存在于最新版本中——但似乎没有容易找到的相关示例(或 JavaDoc 以外的文档)。

4

1 回答 1

1

是的,有一些可能性可以帮助或至少作为参考。

对于现成的实现,您可能需要研究Integrating Crowd with Spring Security

如果您需要更好的控制,请使用CrowdHttpAuthenticator. 它将允许您使用用户名和密码对请求进行身份验证,并检查会话是否具有现有的会话 cookie。(它的具体实现将接受属性和用途crowd.token_key。)

CrowdClient如果这些不符合您的需求,则可以使用,但这不是唯一的选择。

于 2013-07-30T13:32:00.627 回答