JdbcRealmだと同じ設定がふえるからこっちのがいいか。
server.xml
<?xml version="1.0" encoding="UTF-8"?>
<Server
port="8105"
shutdown="SHUTDOWN">
<Listener
SSLEngine="on"
className="org.apache.catalina.core.AprLifecycleListener" />
<Listener className="org.apache.catalina.core.JasperListener" />
<Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<!-- conf/tomcat.xml -->
<Resource
auth="Container"
name="UserDatabase"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml"
type="org.apache.catalina.UserDatabase" />
<Resource
auth="Container"
name="jdbc/mysql-base2"
type="javax.sql.DataSource"
driverClassName="com.mysql.jdbc.Driver"
username="base2"
password="base2"
url="jdbc:mysql://localhost/base2">
</Resource>
</GlobalNamingResources>
.
<Service name="Catalina">
<Connector
connectionTimeout="20000"
port="8180"
protocol="HTTP/1.1"
redirectPort="8443" />
<Engine
defaultHost="localhost"
name="Catalina">
<!-- conf/tomcat.xml -->
<Realm
className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase" />
<!-- jdbc:mysql://localhost/base2 -->
<Realm
className="org.apache.catalina.realm.CombinedRealm"
name="MySqlUserDatabaseCombined">
<Realm
className="org.apache.catalina.realm.DataSourceRealm"
dataSourceName="jdbc/mysql-base2"
digest="MD5"
userTable="tbuser"
userNameCol="account"
userCredCol="password"
userRoleTable="tbuser"
roleNameCol="role" />
<Realm
className="org.apache.catalina.realm.DataSourceRealm"
dataSourceName="jdbc/mysql-base2"
digest="MD5"
userTable="tbuser"
userNameCol="mailaddress"
userCredCol="password"
userRoleTable="tbuser"
roleNameCol="role" />
</Realm>
<Host
appBase="webapps"
autoDeploy="true"
name="localhost"
unpackWARs="false">
<Context
docBase="struts2.app"
path="/struts2.app"
reloadable="true"
source="org.eclipse.jst.j2ee.server:struts2.app">
</Context>
</Host>
</Engine>
</Service>
</Server>
create-tbuser
DROP TABLE tbuser;
CREATE TABLE `tbuser` (
`id` int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`account` varchar(50) NOT NULL,
`mailaddress` varchar(50) NOT NULL,
`role` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`created` datetime NOT NULL,
`updated` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
`deleted` date
);