Java 为什么JAAS不连接到数据库?

Java 为什么JAAS不连接到数据库?,java,authentication,jaas,Java,Authentication,Jaas,下面给出的代码用于JAAS的用户身份验证。使用Oracle 11g和应用服务器Tomcat 8的数据库 为什么在输入用户名和密码后,总是输入login-error.html 表格: CREATE TABLE "USERS" ("USERNAME" NVARCHAR2(50) NOT NULL ENABLE, "PASSWORD" NVARCHAR2(50) NOT NULL ENABLE, CONSTRAINT "USERS_PK" PRIMARY KEY ("U

下面给出的代码用于JAAS的用户身份验证。使用Oracle 11g和应用服务器Tomcat 8的数据库

为什么在输入用户名和密码后,总是输入login-error.html

表格:

CREATE TABLE  "USERS" 
   ("USERNAME" NVARCHAR2(50) NOT NULL ENABLE, 
    "PASSWORD" NVARCHAR2(50) NOT NULL ENABLE, 
     CONSTRAINT "USERS_PK" PRIMARY KEY ("USERNAME") ENABLE
   ) ;

CREATE TABLE  "USERSROLE" 
   (    "ROLENAME" NVARCHAR2(50) NOT NULL ENABLE, 
    "USERNAME" NVARCHAR2(50), 
     CONSTRAINT "USERSROLE_PK" PRIMARY KEY ("ROLENAME") ENABLE
   ) ;ALTER TABLE  "USERSROLE" ADD CONSTRAINT "USERSROLE_FK" FOREIGN KEY ("USERNAME")
      REFERENCES  "USERS" ("USERNAME") ENABLE;
context.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context   path="/ProjectName">                                                                                                                                       ">
    <Realm  className="org.apache.catalina.realm.JDBCRealm"
            driverName="oracle.jdbc.driver.OracleDriver"
            connectionURL="jdbc:oracle:thin:@localhost:1521:xe"
            connectionName="DBName" connectionPassword="myPassword"
            userTable="users" userNameCol="USERNAME" userCredCol="PASSWORD"
            userRoleTable="USERSROLE" roleNameCol="ROLENAME" />
</Context>
 <security-constraint>
        <web-resource-collection>
            <web-resource-name>wholesale</web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>

        <auth-constraint>
            <role-name>Admin</role-name>
        </auth-constraint>
</security-constraint>


    <login-config>
        <auth-method>FORM</auth-method>

        <form-login-config>
            <form-login-page>/login.html</form-login-page>
            <form-error-page>/login-error.html</form-error-page>
        </form-login-config>

    </login-config>
    <security-role>
        <role-name>Admin</role-name>
    </security-role>
<form action="j_security_check" method="post">
  User Name<input type="text" name="j_username"/> <br/>
  Password<input type="password" name="j_password"/> <br/>
  <input type="submit" value="Login" />
</form>
 Login Failed! Try again!
    <form action="j_security_check" method="post">
      User Name<input type="text" name="j_username"/> <br/>
      Password<input type="password" name="j_password"/> <br/>
      <input type="submit" value="Login" />
    </form>

">
web.xml

<?xml version="1.0" encoding="UTF-8"?>
<Context   path="/ProjectName">                                                                                                                                       ">
    <Realm  className="org.apache.catalina.realm.JDBCRealm"
            driverName="oracle.jdbc.driver.OracleDriver"
            connectionURL="jdbc:oracle:thin:@localhost:1521:xe"
            connectionName="DBName" connectionPassword="myPassword"
            userTable="users" userNameCol="USERNAME" userCredCol="PASSWORD"
            userRoleTable="USERSROLE" roleNameCol="ROLENAME" />
</Context>
 <security-constraint>
        <web-resource-collection>
            <web-resource-name>wholesale</web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>

        <auth-constraint>
            <role-name>Admin</role-name>
        </auth-constraint>
</security-constraint>


    <login-config>
        <auth-method>FORM</auth-method>

        <form-login-config>
            <form-login-page>/login.html</form-login-page>
            <form-error-page>/login-error.html</form-error-page>
        </form-login-config>

    </login-config>
    <security-role>
        <role-name>Admin</role-name>
    </security-role>
<form action="j_security_check" method="post">
  User Name<input type="text" name="j_username"/> <br/>
  Password<input type="password" name="j_password"/> <br/>
  <input type="submit" value="Login" />
</form>
 Login Failed! Try again!
    <form action="j_security_check" method="post">
      User Name<input type="text" name="j_username"/> <br/>
      Password<input type="password" name="j_password"/> <br/>
      <input type="submit" value="Login" />
    </form>

批发
/*
得到
邮递
管理
形式
/login.html
/login-error.html
管理
login.html

<?xml version="1.0" encoding="UTF-8"?>
<Context   path="/ProjectName">                                                                                                                                       ">
    <Realm  className="org.apache.catalina.realm.JDBCRealm"
            driverName="oracle.jdbc.driver.OracleDriver"
            connectionURL="jdbc:oracle:thin:@localhost:1521:xe"
            connectionName="DBName" connectionPassword="myPassword"
            userTable="users" userNameCol="USERNAME" userCredCol="PASSWORD"
            userRoleTable="USERSROLE" roleNameCol="ROLENAME" />
</Context>
 <security-constraint>
        <web-resource-collection>
            <web-resource-name>wholesale</web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>

        <auth-constraint>
            <role-name>Admin</role-name>
        </auth-constraint>
</security-constraint>


    <login-config>
        <auth-method>FORM</auth-method>

        <form-login-config>
            <form-login-page>/login.html</form-login-page>
            <form-error-page>/login-error.html</form-error-page>
        </form-login-config>

    </login-config>
    <security-role>
        <role-name>Admin</role-name>
    </security-role>
<form action="j_security_check" method="post">
  User Name<input type="text" name="j_username"/> <br/>
  Password<input type="password" name="j_password"/> <br/>
  <input type="submit" value="Login" />
</form>
 Login Failed! Try again!
    <form action="j_security_check" method="post">
      User Name<input type="text" name="j_username"/> <br/>
      Password<input type="password" name="j_password"/> <br/>
      <input type="submit" value="Login" />
    </form>

用户名
密码
登录错误。html

<?xml version="1.0" encoding="UTF-8"?>
<Context   path="/ProjectName">                                                                                                                                       ">
    <Realm  className="org.apache.catalina.realm.JDBCRealm"
            driverName="oracle.jdbc.driver.OracleDriver"
            connectionURL="jdbc:oracle:thin:@localhost:1521:xe"
            connectionName="DBName" connectionPassword="myPassword"
            userTable="users" userNameCol="USERNAME" userCredCol="PASSWORD"
            userRoleTable="USERSROLE" roleNameCol="ROLENAME" />
</Context>
 <security-constraint>
        <web-resource-collection>
            <web-resource-name>wholesale</web-resource-name>
            <url-pattern>/*</url-pattern>
            <http-method>GET</http-method>
            <http-method>POST</http-method>
        </web-resource-collection>

        <auth-constraint>
            <role-name>Admin</role-name>
        </auth-constraint>
</security-constraint>


    <login-config>
        <auth-method>FORM</auth-method>

        <form-login-config>
            <form-login-page>/login.html</form-login-page>
            <form-error-page>/login-error.html</form-error-page>
        </form-login-config>

    </login-config>
    <security-role>
        <role-name>Admin</role-name>
    </security-role>
<form action="j_security_check" method="post">
  User Name<input type="text" name="j_username"/> <br/>
  Password<input type="password" name="j_password"/> <br/>
  <input type="submit" value="Login" />
</form>
 Login Failed! Try again!
    <form action="j_security_check" method="post">
      User Name<input type="text" name="j_username"/> <br/>
      Password<input type="password" name="j_password"/> <br/>
      <input type="submit" value="Login" />
    </form>
登录失败!请重试!
用户名
密码