2

如果在服务层(任何地方)SecurityContextHolder中发现主体为空,如何将用户重定向到登录页面?我想它应该是一些拦截器或过滤器。

4

1 回答 1

1

当请求进入服务层时,Security Context 应该已经由您的安全过滤器链中配置的过滤器之一填充。如果未填充,则意味着安全过滤器链未正确配置,或者请求 URL 不受任何已配置过滤器链的保护。检查该pattern属性是否存在http于您的安全配置中的元素上,以及它是否与请求 URL 匹配。

负责处理未经身份验证的请求的过滤器ExceptionTranslationFilter将调用配置AuthenticationEntryPoint来启动身份验证过程。默认命名空间配置 ( <security:http auto-config="true"...) 设置此过滤器LoginUrlAuthenticationEntryPoint,将用户重定向到登录页面。

于 2013-02-12T07:29:49.110 回答