打开你的Tomcat安装目录,D:\apache-tomcat-6.0.29\apache-tomcat-6.0.29\conf目录下,找到你的service.xml文件打开.编辑文件:
连接mysql数据库的数据源配置如下:
<GlobalNamingResources> <!-- Editable user database that can also be used by UserDatabaseRealm to authenticate users --> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> <Resource name="jdbc/portalDS" auth="Container" type="javax.sql.DataSource" description="disneyland portal ds" maxActive="100" maxIdle="30" maxWait="10000" username="root" password="password" driverClassName="com.mysql.jdbc.Driver" url="jdbc:mysql://localhost:3306/Portal" /> </GlobalNamingResources>
在service.xml文件中, 请根据自己的环境自行修改,配置tomcat的DataSourceRealm 登录功能 在Engine 节点下 ,新增一个Realm节点, 配置User登陆验证如下:
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Realm className="org.apache.catalina.realm.DataSourceRealm" dataSourceName="jdbc/portalDS" userTable="PL_USERS" userNameCol="USER_ID" userCredCol="PASSWORD" userRoleTable="PL_USER_ROLES" roleNameCol="ROLE_NAME" />
去掉 Host节点中 对
<Value className=” org.apache.catalina.authenticator.SingleSignOn” />的注视即可
相关属性如下:
userTable 用户存在那张表.
userNameCol 用表中的那个字段登录.
userCredCol 登录密码是那个字段.
userRoleTable 用户和权限表的一个中间表.
roleNameCol 权限名称是那个字段.