在web应用中对页面的访问控制通常通过程序来控制流程为登录 > 设置session > 访问受限页面时检查session是否存在如果不存在禁止访问
对于较小型的web应用可以通过tomcat内置的访问控制机制来实现权限控制采用这种机制的好处是程序中无需进行权限控制完全通过对tomcat的配置即可完成访问控制
为了在tomcat页面设置访问权限控制在项目的WEBINFO/webxml文件中进行如下设置
其中<urlpattern>中指定受限的url可以使用通配符*通常对整个目录进行访问权限控制
<authconstraint>中指定哪些角色可以访问<urlpattern>指定的url在<rolename>中可以设置一个或多个角色名
使用的角色名来自tomcat的配置文件${CATALINA_HOME}/conf/tomcatusersxml
<loginconfig>中设置登录方式<authmethod>的取值为BASIC或FORM如果为BASIC浏览器在需要登录时弹出一个登录窗口如果为FORM方式需要指定登录页面和登录失败时的提示信息显示页面
使用FORM方式的配置样例如下
其中的<formloginpage>指定登录页面url<formerrorpage>指定登录失败时的提示页面url登录页面中form的action以及其中的用户名和密码两个参数的名称都应取固定的值登录的后台处理程序为j_security_check用户名和密码的参数名称分别为j_username和j_password如下是登录页面(如loginjsp)的一段示例代码