問題 - 私のアプリケーションには、2 つの異なるモジュールがあります。1 - フロントエンド ビュー 2 - バックエンド管理ビュー。両方のモジュールに 2 つの異なるログイン フォームがあります。また、ユーザーを認証するための認証プロセスも、両方のモジュールで異なります。現在、Secure.java には、ユーザーが認証されていない場合にログイン ページを表示するアクション/メソッド「login()」が 1 つだけあります。次に、ユーザーが認証されていない場合、それぞれのモジュールのログイン ページのレンダリングをどのように管理する必要がありますか。Secure.java クラスと Secure モジュールのルート ファイルをカスタマイズすることで、これを管理できます。しかし、それを行う正しい方法はありますか。「check」メソッドを再評価するクエリがもう 1 つあります。ドキュメントによると、Security クラスの check メソッドをオーバーライドする必要があります (これは Secure. セキュリティ) ユーザーのプロファイルを確認するため。私は同じことをしました。つまり、管理コントローラーにチェック注釈 @Check("admin") を追加し、Security クラスのメソッドをオーバーライドしました。ただし、check メソッド (オーバーライドされたメソッド) は呼び出されません。どうしてこうなの??ここで何か間違っていますか??
これが Admin クラスの構造です...
@With(Secure.class)
@Check("admin")
public class Admin extends JapidContorller {
/**
* An action to render the index page of the Back end admin module.
*/
public static void index(){
renderJapid();
}
/**
* An action to render the login page of the Back end admin module.
*/
public static void adminLogin() {
renderJapid();
}
/**
* An method to log out the logged in user.
*/
public static void adminLogout(){
renderJapid();
}
}
そしてセキュリティクラスで
public class Security extends Secure.Security {
public static boolean authenticate(String username, String password){
-----------------
-----------------
}
public static boolean check(String profile){
System.out.println("[Security] The check from security is called");
return true;
}
}
しかし、ここでは、Admin.index() ページを要求したときにチェックが呼び出されることはありません。ここで、2 つの異なる問題についてあなたの助けが必要です。1 ) アプリケーションに複数のログイン ページがある場合、セキュア モジュールを使用してユーザーの認証をどのように処理する必要がありますか。2) オーバーライドされたチェック メソッドは呼び出されません。
ここで私を助けてください。本当に緊急です。