0

jetty を使用して、Web アプリケーションで j_security_check を使用しています。以下は私のjspファイルのフォームです。

<form action="/j_security_check" method="post">
    <table>
        <tr>Username:<input type="text" name="j_username"/></tr>
    <tr>Password:<input type="password" name="j_password"/></tr>
        <tr><input type="submit" value="Login"/></tr>
    </table>
</form>

実際、LDAP サーバーからユーザーを認証しようとしています。しかし、初めて認証しようとすると、直接ログインしています。その後、それらの資格情報でアクセスしようとすると、直接ログインしています。

j_security_checkが認証または検証を試行するたびに、ユーザー名とパスワードをどこに保持するかがわかりません。この点に関する任意のアイデア。

以下は、web.xml参照用のフォームベース認証用に保持したコードです。

    <!-- Note, this needs to match whats in the AdminWebAppLauncher -->
    <realm-name>myRealm</realm-name>

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

<security-role>
    <role-name>admin</role-name>
</security-role>

これに関する任意のアイデア。提案してください..!

4

1 に答える 1

0

データベースに 2 つのテーブルを作成する必要があります。最初のものには と が含まusernamepassword、2 番目のものには と が含まれusernameますroleusername別の方法として、、passwordおよび、を含む 1 つのテーブルを作成しますrole

server.xmlまた、次の xml タグをorに追加する必要がありますcontext.xml

<Realm  className="org.apache.catalina.realm.JDBCRealm"
        driverName="com.mysql.jdbc.Driver"
        connectionURL="jdbc:mysql://localhost/test"
        connectionName="root" connectionPassword="password"
        userTable="user" userNameCol="user_name" userCredCol="user_pass"
        userRoleTable="user_role_link" roleNameCol="role_id" />
于 2013-03-30T20:05:31.763 に答える