用戶成功認證但認證後,當我去下一個控制器我得到request.getUserPrincipal()
null。我正在使用websphere 7,我的應用程序是在春季mvc。request.getUserPrincipal()得到空
System.out.println("subject.getPrincipals(): " + subject.getPrincipals());
WSSubject.setRunAsSubject(subject);
在登錄控制器subject.getPrincipals認證()返回本金,但是當我去到一個控制器我request.getUserPrincipal()
空後。
的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應用-bnd.xml
<security-role name="Administrator">
<group name="Administrator" />
</security-role>
我們呃屬於管理員組。我所有的部署描述符都設置得很好。任何想法我錯了嗎?
會有其他資源。但這不是我的問題。無論我訪問受保護資源還是不受保護,都應該有主體。 –
這可能是你想要的,但不是它的工作方式:當我沒有記錯的時候,你必須警惕資源才能獲得帶有主體的請求。但當然,保護資源不受限制是合法的(全部允許)。 – Ralph
看到我的問題:「在登錄控制器subject.getPrincipals()中的身份驗證返回主體,但當我去下一個控制器時,我得到了request.getUserPrincipal()null」。問題是什麼?爲什麼我知道它爲空? –