用户成功验证,但在身份验证后,当我转到下一个控制器时,request.getUserPrincipal()
为null。 我正在使用WebSphere 7,我的应用程序是Spring MVC。
System.out.println("subject.getPrincipals(): " + subject.getPrincipals());
WSSubject.setRunAsSubject(subject);
在登录控制器中进行身份验证后,subject.getPrincipals() 返回 principal,但是当我进入下一个控制器时,request.getUserPrincipal() 为 null。
web.xml
<security-role>
<role-name>Administrator</role-name>
</security-role>
<security-constraint>
<display-name>manager_Service</display-name>
<web-resource-collection>
<web-resource-name>manageservice</web-resource-name>
<url-pattern>/manageServiceList.htm</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>Administrator</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
application.xml
<security-role>
<role-name>Administrator</role-name>
</security-role>
ibm-application-bnd.xml
<security-role name="Administrator">
<group name="Administrator" />
</security-role>
用户属于管理员组。我所有的部署描述符都设置得很好。有任何想法我犯了什么错误吗?