2012-11-04 39 views

回答

0

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

+0

我也遇到了这个问题。你能否详细说明你的解决方案? – Swapnil

+0

在我的情况下,问题是我在spring安全配置中注释了一些行来拦截URL。有一个拦截器检查用户是否被认证。寻找那样的东西! – AmirMV

0

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

在CAS的一些指针

  1. 确保您使用SSL进行通信,以CAS因此CAS 必须在SSL端口(443或8443)托管

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

常见错误是CAS和Spring应用程序不在SSL端口上。 如果是这样,请从www.startssl.com获得免费SSL证书

+0

我知道!登录和SSO没有问题。这两个应用程序都在https ... – AmirMV

+0

在这种情况下,请确保在其安全网址受Spring Security保护的控制器中调用SecurityContextHolder.getContext()。getAuthentication(),即无需登录即可访问该页面。 –

+0

这也没有问题!当我尝试加载URL时,它会将我重定向到CAS(https),并且在登录后我无法获得当前用户... – AmirMV

相关问题