1

在我的login.jsp页面中输入正确的凭据时出现 403 错误。这是我的web.xml

<security-constraint>
        <web-resource-collection>
            <web-resource-name>Test</web-resource-name>
            <url-pattern>/test/something.jsp</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>*</role-name>
        </auth-constraint>
    </security-constraint>

    <login-config>
        <auth-method>FORM</auth-method>
        <form-login-config>
            <form-login-page>/Login.jsp</form-login-page>
            <form-error-page>/LoginError.jsp</form-error-page>
        </form-login-config>
    </login-config>

    <security-role>
    <role-name>administrator</role-name>
  </security-role>

这是我的context.xml

<Context>

  <!-- Together with a corresponding entry in web.xml, this configures -->


  <Resource
    name="jdbc/DB"
    auth="Container"
    type="javax.sql.DataSource"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://something/DB"
    username="user"
    password="pass"
    maxActive="8"
    maxIdle="4"
    maxWait="10000"
   />
  <Realm 
    className="org.apache.catalina.realm.JDBCRealm" 
    driverName="com.mysql.jdbc.Driver" 
    connectionURL="jdbc:mysql://something/DB"
    connectionName="user" 
    connectionPassword="pass" 
    userTable="users" 
    userNameCol="user_name" 
    userCredCol="user_password" 
    userRoleTable="users"
    userRoleCol="role" 
    digest="MD5"
    />
</Context>

当它无效时它会进入错误页面,但它就像我的角色不正确。在数据库中,我拥有administratorstaff作为角色。

4

1 回答 1

1

我在这里修复它是错误的:

userRoleCol="role" 

需要是:

roleNameCol="role"
于 2012-03-16T21:47:40.983 回答