gpt4 book ai didi

java - request.getUserPrincipal() 为空

转载 作者:搜寻专家 更新时间:2023-11-01 03:12:12 24 4
gpt4 key购买 nike

用户已成功通过身份验证,但在我转到下一个 Controller 时进行身份验证后,我得到了 request.getUserPrincipal() null。我正在使用 websphere 7,我的应用程序是在 spring mvc 中。

   System.out.println("subject.getPrincipals(): " + subject.getPrincipals());

WSSubject.setRunAsSubject(subject);

在登录 Controller 中进行身份验证后,subject.getPrincipals() 返回主体,但是当我转到下一个 Controller 时,我得到了 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>

用户属于管理员组。我所有的部署描述符都设置得很好。知道我哪里弄错了吗?

最佳答案

看起来你只保护一个 url /manageServiceList.htm 所以如果用户访问另一个 url 那么根本就没有主体。

关于java - request.getUserPrincipal() 为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7795012/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com