【发布时间】:2014-02-03 08:40:08
【问题描述】:
[使用 JEE、MVC-JSP + Servlets、TomEE 服务器、MySQL]
我正在使用基于声明形式的身份验证、基于角色的授权。所以,基本上我的web.xml 有以下内容:
<security-constraint>
<web-resource-collection>
<web-resource-name>secured</web-resource-name>
<url-pattern>/somePage.jsp</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>ADMINISTRATOR</role-name>
</auth-constraint>
</security-constraint>
<security-role>
<role-name>ADMINISTRATOR</role-name>
</security-role>
<security-role>
<role-name>USER</role-name>
</security-role>
<login-config>
<auth-method>FORM</auth-method>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/error.jsp</form-error-page>
</form-login-config>
</login-config>
具有ADMINISTRATOR 角色的用户可以访问somePage.jsp。当具有USER 角色的用户尝试访问somePage.jsp 时,(通常)访问被拒绝,并在浏览器中返回页面HTTP Status 403 - Access to the requested resource has been denied。
我希望当未经授权的用户尝试访问somePage.jsp 以重定向到另一个包含适当消息的 jsp 页面。如何才能做到这一点?或者,处理未经授权的用户访问尝试的做法是什么?
【问题讨论】:
标签: java security jsp servlets model-view-controller