私のアプリケーションは siteminder 認証を使用しています。siteminder は、ユーザー名、ユーザー ID などのユーザーの詳細を http 要求ヘッダーに追加し、アプリケーションにリダイレクトします。これらのユーザーの詳細をヘッダーから Bean に保存し、ビジネス ロジックでアクセスする必要があります。いくつか質問があります。
UserDetailsBean にはどのようなスコープが推奨されますか? セッションまたはリクエスト?
リクエストを傍受し、ヘッダーからユーザー情報を抽出できる場所は? フィルター内でそれを行うことはできますか? または、 UserDetailsBean (セッション Bean) コンストラクター内で実行できますか?
次のようなことができますか
public UserBean() {
FacesContext context = FacesContext.getCurrentInstance();
Map<String, String> requestHeaderMap = context.getExternalContext().getRequestHeaderMap();
String userId = requestHeaderMap.get("sm_userID");
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
logger.info("[Bean - User is] "+userId);
this.userId = userId;
}
}
アプリケーション全体で UserBean.getUserId にアクセスしますか?