1

我正在为 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 但它也不起作用。

有什么想法可以让这个工作吗?

4

0 回答 0