我已经在CAS维基上使用Spring安全教程将CAS集成到Spring Security。现在我想获得当前用户,但不知道如何!如何获得与cas集成的spring安全中的当前用户?
我应该从Spring安全还是CAS获得它?
SecurityContextHolder.getContext().getAuthentication()
返回null:
我已经在CAS维基上使用Spring安全教程将CAS集成到Spring Security。现在我想获得当前用户,但不知道如何!如何获得与cas集成的spring安全中的当前用户?
我应该从Spring安全还是CAS获得它?
SecurityContextHolder.getContext().getAuthentication()
返回null:
发现问题!我打算使用自己的访问控制系统,因此我评论过滤谁负责检查用户角色以访问URL的位置。显然,如果我不拦截URL,Spring安全的上下文将无法通过该请求访问(至少看起来像这样!我不是文档的忠实粉丝,所以我尝试了代码,当我得到异常时,我试图猜测原因!我真的应该停止这样做:|但无论如何,现在我拦截的URL,SecurityContextHolder.getContext()。getAuthentication()不会返回null :))
如果SecurityContextHolder.getContext()。getAuthentication()为null,则表示用户尚未进行身份验证。
在CAS的一些指针
确保您使用SSL进行通信,以CAS因此CAS 必须在SSL端口(443或8443)托管
确保您春季 应用程序托管在SSL端口上,以便CAS可以通过 SSL服务器呼叫您的Spring。
常见错误是CAS和Spring应用程序不在SSL端口上。 如果是这样,请从www.startssl.com获得免费SSL证书
我也遇到了这个问题。你能否详细说明你的解决方案? – Swapnil
在我的情况下,问题是我在spring安全配置中注释了一些行来拦截URL。有一个拦截器检查用户是否被认证。寻找那样的东西! – AmirMV