TOMCAT的安全控制策略是根据Servlet 2.4规范来实现的。
1.在$CATALINA/conf/server.xml文件中配置:
这里UserDatabase是一个jndi的名称,也需要在server.xml中配置,对应于$CATALINA/conf/tomcat-users.xml文件
2.tomcat-users.xml文件里面定义了用户和角色
3.在相应的应用的web.xml文件中加入标签,如下所示:
Tomcat Server Configuration Security Constraint
Protected Area
/*
admin
FORM
Tomcat Server Configuration Form-Based Authentication Area
/login.jsp
/error.jsp
The role that is required to log in to the Administration Application
admin
4.在 标签的FORM属性中,可以看到这里的authentication method 设置为FORM,这是一种基于表单的用户认证方式。基于form的用户认证需要在/login.jsp定义的登陆页面中提供一个包括用户名和密码的html表单,这个表单相对应于用户名和密码的元素必须是j_username和j_password,并且表单的ACTION必须为j_security_check。譬如:
在验证通过之后,login页面会自动转向该应用的默认页面(index.html,index.jsp等等)。
除了FORM验证方式之外,还有BASIC和CLIENT-CERT这两种用户认证方式,前者是基本的用户认证方式,要求浏览器弹出一个对话框,录入用户名和密码。后者是使用客户数字证书来认证请求。
5.以上四步完成之后便可以通过在tomcat-users.xml文件中添加用户和角色来实现访问控制了。还是比较方面的。