安全域是Tomcat服务器中用来保护Web应用资源的一种机制,在安全域中可以配置安全验证信息,即用户以及用户和角色的映射关系,每个用户可以拥有一或多个角色,每个角色限定了可以用来访问的WEb资源
它包括以下四种类型
1内存域MemoryRealm从XML中读取安全验证信息,并把它们以一组对象的形式存放在内存中
2Jdbc域JDBCREALM通过JDBC驱动访问存放在数据库中的安全验证信息,
3数据源域DataSouceRealm通过JNDI数据源访问存在数据库中安全信息
4Jndi 域JNDIRealm通过JNDIprovider访问基于LDAP的目录服务器中安全验证信息
配置过程有以下2部
1为WEB资源设置安全约束
(1)在web.xml中加入<sercurity-constraint>元素,对要过滤的文件类型限制
(2)在WEB中加入<logiin-config> Tomcat中支持三种验证方法,1基本验证,2摘要验证3基于表单验证
摘要验证其实就是对第一种方法进行过密码加密的方法,而表单验证是通过自己的做的longin的页面实现
(3)在web.xml中加入<security-role>元素指明手所有角色的名字
2在CONF/SERVER.XML中配置REALM,这个元素中指定安全域的类名以及相关属性。
需要注意的是内存域是把用户和角色数据存放在Tomcat-users.xml中
后2种都是存放在数据库中,尤其是配置数据源域的时候,一定要把DATASOURCE存放在《GlobalNamingResouces》标签下,否则虽然能正常使用但做验证时会访问不到数据库,不能验证成功