只需使用数据库领域并
<Realm>在服务器配置文件中的元素中配置表名和列名即可。对于Tomcat,这在Realm
HOWTO中进行了描述。这是JDBCRealm一章的相关摘录:
快速开始要将Tomcat设置为使用JDBCRealm,您将需要执行以下步骤:
领域元素属性
- 如果尚未这样做,请在数据库中创建符合上述要求的表和列。
- 配置供Tomcat使用的数据库用户名和密码,该用户名和密码至少具有对上述表的只读访问权限。(Tomcat绝不会尝试写入这些表。)
- 将要使用的JDBC驱动程序的副本放在
$CATALINA_HOME/lib目录中。请注意,只能识别JAR文件! <Realm>如下所述,在$CATALINA_base/conf/server.xml文件中设置一个元素 。- 如果Tomcat 6已经在运行,请重新启动它。
要配置JDBCRealm,您将创建一个
<Realm>元素并将其嵌套在$CATALINA_base/conf/server.xml
文件中,如上所述。JDBCRealm的属性在Realm配置文档中定义。例创建所需表的示例SQL脚本可能类似于以下内容(根据特定数据库的需要调整语法):
create table users ( user_name varchar(15) not null primary key, user_pass varchar(15) not null);create table user_roles ( user_name varchar(15) not null, role_name varchar(15) not null, primary key(user_name, role_name));示例
Realm元素包含(注释掉)在默认$CATALINA_base/conf/server.xml文件中。这是一个使用名为“
authority”的MySQL数据库的示例,该数据库配置有上述表,并通过用户名“ dbuser”和密码“ dbpass”进行访问:<Realm className="org.apache.catalina.realm.JDBCRealm" driverName="org.gjt.mm.mysql.Driver"connectionURL=”jdbc:mysql://localhost/authority?user=dbuser&password=dbpass”
userTable=”users” userNameCol=”user_name” userCredCol=”user_pass”
userRoleTable=”user_roles” roleNameCol=”role_name”/>
很清楚,不是吗?如果您已经在Tomcat中配置了JDBC数据源(用于连接池及其后),那么也可以改用DataSourceRealm。
在
tomcat-users.xml你所谈论的是通过调用方式是UserDatabaseRealm。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)