一:什么是jdbc安全域?html
个人理解是:验证信息(角色、用户名和密码)经过jdbc桥梁到数据库中去匹配,若是验证信息正确,则让用户访问到受保护的页面、信息等!sql
二:实现步骤以下:---注:本文是将tomcat管理员的角色信息存储到数据库中,进行验证!数据库
1:数据库采用sqlserver2005apache
2:建立数据库名为: zltomcat浏览器
3:建立二张数据库表名称分别为:tomcat_user(用户表)、tomat_user_role(角色表)tomcat
4:tomcat_user表结构以下:安全
create table tomcat_user ( userName varchar(15) not null primary key,
pass varchar(15) not null
);
|
5:tomat_user_role表结构以下:
create table tomat_user_role (
userName varchar(15) not null,
roleName varchar(15) not null,
primary key (userName, roleName)
);
|
6:以上字段注释以下:
username:用户名
7:打开~tomcat/conf/ server.xml文件
8:在配置文件Engine节点下添加以下配置文件:
<Realm className="org.apache.catalina.realm.JDBCRealm" driverName="com.microsoft.sqlserver.jdbc.SQLServerDriver" connectionURL="jdbc:sqlserver://127.0.0.1:1433;databaseName=zltomcat" connectionName="sa" connectionPassword="zl" userTable="tomcat_user" userNameCol="userName" userCredCol="pass" userRoleTable="tomat_user_role" roleNameCol="roleName" /> |
9:以上配置文件重要参数注释以下:
driverName:驱动名,不一样的数据库不一样
databaseName:数据库名
connectionName:数据库登录名
connectionPassword:数据库登录密码
userTable:用户表名
userNameCol:用户名字段
userCredCol:用户密码字段
userRoleTable:角色表表名
roleNameCol:角色字段(role)
10:将sqlserver2005的jdbc驱动包拷贝到tomcat的lib目录下。
11:测试,启动tomcat,在浏览器地址栏输入:http://localhost:8080/,点击:Tomcat Manager 输入数据库中设置的用户名和密码。登录成功,进入到tomcat的管理员界面。
1:内存域(MemoryRealm),彻底经过xml配置文件完成, 对应资源访问权限有三种方式:BASIC、DIGEST、FORM。
2: 数据源域(DataSourceRealm),经过JNDI数据源访问存在数据库中的安全验证信息。
3: JNDI域(JNDIRealm),经过JNDIproveider访 问存放在基于LDAP的目录服务器中的安全验证信息。
4:以上更多的信息请参考: http://tomcat.apache.org/tomcat-6.0-doc/realm-howto.html官方网站。