参考网友大象的文章[原创] jbpm 3.2.2+Tomcat 6.0.10+MySQL5.0.27/SQL Server2000部署详解 开始部署jbpm。文章相当详尽,按照他写的一步步进行,最后配置成功。不过有一个关于tomcat安全验证方面,如采用数据库由jbpm来管理登录账号,按照大象网友说的方法并不能成功登录。
“有两种方法修改安全验证,第一种是修改%TOMCAT_HOME%/conf下的tomcat-users.xml文件,第二种是在%TOMCAT_HOME%/conf目录下再新建Catalina文件夹,然后再在Catalina文件夹下建localhost文件夹,在此目录下建jbpm-console.xml文件。”这是原文中提到的第二种设置方式。正确的应该是修改 %TOMCAT_HOME%/conf目录下的 server.xml。
<!-- <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/> -->
<!--将上面这一行注掉,增加下面一个Realm 配制 -->
<Realm className="org.apache.catalina.realm.JDBCRealm"
driverName="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://localhost:3306/jbpm" connectionName="jbpmuser"
connectionPassword="shine"
userTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"
userNameCol="g.TYPE_ = 'security-role' AND m.GROUP_ = g.ID_ AND m.USER_ = u.ID_ AND u.NAME_"
userCredCol="DISTINCT u.PASSWORD_"
userRoleTable="JBPM_ID_USER u, JBPM_ID_MEMBERSHIP m, JBPM_ID_GROUP g"
roleNameCol="g.NAME_" />
另外,需将mysql-connect lib 包拷到 tomcat的lib目录下。重启tomcat,可成功用数据库账号登录。