我有Spring Security的Spring 3应用程序。我需要在我的应用程序的几乎所有URL中进行一些处理。根据登录的用户,proccesing会有所不同。我曾经使用Spring过滤器,但我无法访问
SecurityContextHolder.getContext().getAuthentication().getPrincipal()
过滤器中的因为SecurityContextHolder仍然为null。
这样做的最佳方式是什么?
感谢。
答案 0 :(得分:2)
要访问安全上下文,您的过滤器应位于Spring Security过滤器后面,即其<filter-mapping>
应放在Spring Security的过滤器之后。
答案 1 :(得分:1)
如果您使用的是弹簧,则可以在"interceptor"内进行。它是过滤器的替代品,它可以访问安全上下文。