在我的MVC应用程序中,即使在我尝试使用主要对象时登录,
Object principal = SecurityContextHolder.getContext().getAuthentication().getPrincipal();
身份验证返回为null。
在Spring-security上下文中,
<intercept-url pattern="/test/user/login" access="IS_AUTHENTICATED_ANONYMOUSLY" />
Web.xml中的Servlet映射:
<servlet-mapping>
<servlet-name>appServlet</servlet-name>
<url-pattern>/</url-pattern>
</servlet-mapping>
我是MVC实施的新手。请帮我解决这个问题。
答案 0 :(得分:0)
每次有&#34;重定向&#34; 时,看起来Spring Security会实例化一个新的上下文。
因此 getContext()会返回新对象,而不是您在登录时使用的对象。有人建议从会话中获取上下文
请参阅这篇文章的答案
&#34; Spring's SecurityContextHolder.getContext().getAuthentication() returns null after RedirectView is used in HTTPS/SSL&#34;