我正在使用WebSphere 7.我有一个使用web.xml设置的简单示例,如下所示。
这是我测试它的方式:
我从没有用户开始,也没有WebSphere
我尝试访问该页面(/restricted/topsecret.html)我被提示登录。我不能。
我使用WebSphere管理控制台添加用户/密码“rob / password”。我现在可以登录,但是我看不到页面。我收到“403:AuthorizationFailed”错误。
我添加了一个名为“ROLE1”的组,并使用WebSphere管理控制台将该组分配给用户“rob”。我重新启动firefox,我仍然可以登录,但仍然会收到“403”错误。
我写了一个小JSP(下面)来输出登录的用户名,但即使在记录用户名后仍然是空的。
知道我做错了什么?谢谢!
罗布
<security-constraint>
<web-resource-collection>
<web-resource-name>page test 1</web-resource-name>
<url-pattern>/restricted/topsecret.html</url-pattern>
<http-method>GET</http-method>
<http-method>POST</http-method>
</web-resource-collection>
<auth-constraint>
<role-name>ROLE1</role-name>
</auth-constraint>
<user-data-constraint>
<transport-guarantee>NONE</transport-guarantee>
</user-data-constraint>
</security-constraint>
usertest.jsp
<%@ page session="true" %>
Logged in username = '<%= request.getRemoteUser() %>' // is always null
<p/>
Logged in username = '<%= request.getUserPrincipal() %>' // is always null
答案 0 :(得分:1)
有三个安全级别
我假设你打开了应用程序级别(听起来你打开了它,但我想检查一下)
usertest.jsp是否安全?
在将Roles映射到用户后,您是否重新启动了应用程序?
JSP中的代码(第一行在语法上看起来不太好。我假设错字)
答案 1 :(得分:0)
这是针对WAS 7的。我最近遇到了我们的应用程序抛出403错误的问题。
ibm-application-bnd.xml
<security-role name="DefaultRole">
<special-subject type="ALL_AUTHENTICATED_USERS" /></security-role>
<security-role name="NoSecurity">
<special-subject type="EVERYONE" /></security-role></application-bnd>
application.xml
<security-role>
<role-name>DefaultRole</role-name>
</security-role>
<security-role>
<role-name>NoSecurity</role-name>
</security-role>
检查两个xml文件