tomcat容器角色安全设置!

tomcat为:4.1.10
web.xml里如下:


<security-constraint>
<web-resource-collection>
<web-resource-name>Edit Department</web-resource-name>
<url-pattern>/editDepartment.do</url-pattern>
</web-resource-collection>
<web-resource-collection>
<web-resource-name>Update Department</web-resource-name>
<url-pattern>/updateDepartment.do</url-pattern>
</web-resource-collection>
<auth-constraint>
<role-name>department</role-name>
</auth-constraint>
</security-constraint>

<login-config>
<auth-mothod>FORM</auth-mothod>
<form-login-config>
<form-login-page>/login.jsp</form-login-page>
<form-error-page>/login.jsp</form-error-page>
</form-login-config>
</login-config>

<security-role>
<role-name>department</role-name>
</security-role>

如果没有 <security-role> 则出现以下错误:2003-07-01 14:33:39 ContextConfig[/wuxihuaxia]: WARNING: Security role name department used in an <auth-constraint> without being defined in a <security-role>

加上<security-role>后也没用
以上两种情况,tomcat的控制台都会自动关闭掉,所以没法看到具体的错误消息!

我是用的JDBCRealm,数据库为mysql数据库(mysql-3.23.55)

有那位老兄知道啊!

你在tomcat-users.xml中定义用户没有

我用的是JDBCRealm而不是MemoryRealm
MemoryRealm的话是在tomcat-users.xml配置,不过太死板了
采用JDBCRealm可以通过数据库中的表存储用户和角色,进行动态的添加等相关的操作。
在server.xml中的配置如下:


<Context path="/项目名" docBase="项目名位置" debug="0"
reloadable=
"true" crossContext="true">
<Logger className=
"org.apache.catalina.logger.FileLogger"
prefix=
"项目名_log." suffix=".txt"
timestamp=
"true"/>
[b] <Realm className=
"org.apache.catalina.realm.JDBCRealm" debug="99"
driverName=
"org.gjt.mm.mysql.Driver"
connectionURL=
"jdbc:mysql://localhost/study"
connectionName=
"用户名" connectionPassword="密码"
userTable=
"department" userNameCol="userId" userCredCol="password"
userRoleTable=
"user_role" roleNameCol="role_name" />[/b]

</Context>

不过就有了上面的错误

那个<b>和</b> 是没有的,搞错了
注意一下