0

j-security-checkパラメータを受け入れるj_usernameWebアプリケーションログインを実装j_passwordし、バックグラウンドレジストリでの認証を行いました。ここで、もう1つのパラメーターとして生年月日を追加する必要があり、このパラメーターでもユーザーを認証する必要があります。

j-security-checkを拡張して追加のパラメーターを受け入れる方法はありますか?可能であれば、サーブレットフィルタでチェックを実行することは避けたいと思います。

WebSphere V8、MyFaces JSF 2.0、サーブレット3.0、カスタムデータベースベースの認証を使用

4

2 に答える 2

1

最も簡単な方法は、実際の誕生日に生年月日を追加することですj_username(つまり、JavaScriptを使用して、ログインモジュールで手動で分割します。

于 2013-03-08T07:40:13.503 に答える
0

j_security_checkを介してプログラムによるログインに置き換えますHttpServletRequest#login()

例えば

<h:form>
    <h:inputText value="#{bean.username}" />
    <h:inputSecret value="#{bean.password}" />
    <h:inputText value="#{bean.birthdate}" />
    <h:commandButton value="Login" action="#{bean.login}" />
</h:form>

public void login() {
    // Do your thing with birthdate here.

    // ...

    // Then perform programmatic login.
    try {
        request.login(username, password);
        // Login success. Redirect to landing page.
    } catch (ServletException e) {
        // Login fail. Return to login page.
    }
}

これについては、この回答の2番目の部分で詳しく説明しています。j_security_checkを使用してJava EE/JSFでユーザー認証を実行する

于 2013-03-13T15:53:52.550 に答える