我正在尝试使用Atlassian Crowd实施SSO,并且出现了令人惊讶的缺乏良好的文档甚至示例。
到目前为止,我使用 CrowdClient.authenticateSSOUser 对用户进行身份验证,如果成功则返回SSO令牌(字符串)。然后,我将这个令牌自己填入cookie中(通过HttpServletResponse)。在随后的页面访问中,我获取所有cookie,搜索此cookie,然后在其上调用 CrowdClient.validateSSOAuthentication 方法。
我的问题是:我应该在SSO中使用更多的Crowd代码吗?我似乎手动做的比我预期的要多。
......我看到其他可能性的提示......例如:
在 crowd.properties 中,您可以指定 crowd.token_key ,这显然是应用应该使用的名称将令牌存储在Cookie中(尽管设置这个值并不会神奇地发生这种情况。)
最新版本中存在类似CrowdHttpTokenHelper的内容 - 但似乎没有容易找到的相关示例(或JavaDoc以外的文档)。
答案 0 :(得分:1)
是的,有可能有希望帮助或至少作为参考。
对于现成的实现,您可能需要查看Integrating Crowd with Spring Security。
如果您需要更好的控制,请使用CrowdHttpAuthenticator
。它允许您使用用户名和密码验证请求,以及检查会话是否具有现有会话cookie。 (其concrete implementation将接受属性并使用crowd.token_key
。)
CrowdClient
可用,但它不是唯一的选择。