如果在服务层(任何地方)SecurityContextHolder
中发现主体为空,如何将用户重定向到登录页面?我想它应该是一些拦截器或过滤器。
问问题
698 次
1 回答
1
当请求进入服务层时,Security Context 应该已经由您的安全过滤器链中配置的过滤器之一填充。如果未填充,则意味着安全过滤器链未正确配置,或者请求 URL 不受任何已配置过滤器链的保护。检查该pattern
属性是否存在http
于您的安全配置中的元素上,以及它是否与请求 URL 匹配。
负责处理未经身份验证的请求的过滤器ExceptionTranslationFilter
将调用配置AuthenticationEntryPoint
来启动身份验证过程。默认命名空间配置 ( <security:http auto-config="true"...
) 设置此过滤器LoginUrlAuthenticationEntryPoint
,将用户重定向到登录页面。
于 2013-02-12T07:29:49.110 回答