如何让当前用户在spring中与cas集成?

时间:2012-11-04 11:52:12

标签: spring-security cas

我已经使用cas wiki上的Spring安全教程将CAS集成到Spring Security。现在我想得到当前的用户,不知道怎么做!

我应该从Spring security还是CAS获得它?

SecurityContextHolder.getContext().getAuthentication()返回null:|

2 个答案:

答案 0 :(得分:0)

如果SecurityContextHolder.getContext()。getAuthentication()为null,则表示用户尚未通过身份验证。

关于CAS的一些指示

  1. 确保使用SSL进行CAS与CAS的通信 必须托管在SSL端口(443或8443)

  2. 确保你春天 应用程序托管在SSL端口上,以便CAS可以通过您的Spring调用 SSL服务器。

  3. 常见错误是CAS和Spring Apps都不在SSL端口上。 如果是这种情况,请从www.startssl.com获取免费的SSL证书

答案 1 :(得分:0)

发现问题了!我打算使用自己的访问控制系统,因此我评论了负责检查用户角色以访问URL的过滤器。显然,如果我不拦截URL,那么Spring安全的上下文将无法通过该请求访问(或者至少它看起来像那样!我不是文档的忠实粉丝,所以我尝试代码,当我得到异常时,我试着猜测原因!我真的应该停止这样做了:|但是现在我拦截了URL,SecurityContextHolder.getContext()。getAuthentication()不再返回null :))