我正在为 web.xml 配置而苦苦挣扎 这就是我所拥有的
<welcome-file-list>
<welcome-file>/jsp/index.jsp</welcome-file>
</welcome-file-list>
<security-constraint>
<display-name>Unsecure pages</display-name>
<web-resource-collection>
<web-resource-name>Unsecure pages</web-resource-name>
<url-pattern>/jsp/index.jsp</url-pattern>
</web-resource-collection>
</security-constraint>
<security-constraint>
<display-name>Secure root resources</display-name>
<web-resource-collection>
<web-resource-name>Secure root resources</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>RoleA</role-name>
</auth-constraint>
</security-constraint>
<security-constraint>
<display-name>Specific secure recourses</display-name>
<web-resource-collection>
<web-resource-name>Specific secure recourses</web-resource-name>
<url-pattern>/home</url-pattern>
<url-pattern>/search</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>RoleA</role-name>
<role-name>RoleB</role-name>
</auth-constraint>
</security-constraint>
and in the index.jsp i have this
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>TITLE</title>
<meta http-equiv="REFRESH" content="0; url=/mpbo/home"></HEAD>
</HTML>
我想要实现的是 RoleA 应该具有对站点的完全访问权限,而 RoleB 应该只能访问主页和搜索页面 主页是 RoleA 和 RoleB 的默认页面
我遇到的问题仅与 RoleB 中的用户有关当我作为 RoleB 的用户转到
http://localhost:8080/mpbo/
登录页面时,我被提示进入登录页面,我登录它工作正常,然后重定向到 /jsp/index.jsp(欢迎文件) 它试图将我重定向到 /mpbo/home 文件夹,但在这里我得到访问被拒绝。如果我在登录后直接浏览到 /mpbo/home 文件夹,则成功如果我直接浏览到 /jsp/index.jsp 文件,它将成功将我重定向到 /mpbo/home 页面
所以我认为问题在于实际 / 对其有限制。我尝试添加一个带有 / only 且没有约束的 url 模式,甚至使用 RoleA 和 RoleB 但它也不起作用。
有什么想法可以让这个工作吗?