2012-03-30 4 views
2

私は、フィルタ内にJSF2セッションBeanを作成して作成したいと考えています。 ユースケースは、以下である:フィルタ内にJSF2セッション管理Beanを作成することはできますか?

  • 1)(CAS
  • 2)CASサーバを用いたユーザ認証は、プリンシパルの属性を移入一の 属性にユーザグループは、LDAP/ADであります情報
  • 3)ユーザへのアクセス許可を取得するために に使用される)フィルタは、ユーザが認証された場合にのみ呼び出され は主
  • 4からグループ情報を抽出する)セッションBeanを含むために使用されていますその他のプリンシパル属性 は
  • 5)セッションBeanはすでにそのユーザのために存在している場合、何も は、セッションBeanが存在しない場合は、それがあるべき) を行う必要がありません(とその他の情報は、これらの属性を使用してDBから収集します) ( フィルタ内に)作成され、入力された
  • 7)フィルタを使用すると、ユーザは セッションBeanのすべての情報を含むWebページにアクセスできます。

これは可能ですか? セッションBeanが作成されると、httpセッションに属性としてアタッチされるので、フィルタで簡単にアクセスできますが、セッションBeanを作成することが可能かどうかはわかりませんフィルタ。

答えて

2

セッションBeanを手動で作成せずに全く同じ(OpenID認証)でした。必要なのは、すべての認証トークン、ID、ロールなどを単一のシリアライズ可能クラス(これはUserAuthInfoとする)にラップし、認証後にこのクラスのインスタンスをセッションマップに格納することです。後で、通常のセッションBeanでは、セッションマップ内でこのオブジェクトの存在をチェックし、必要なすべてのデータを初期化し、DBを読み込み、他の処理を行い、オプションでセッションマップからUserAuthInfoインスタンスを削除します。

+0

よろしくお願いいたします。このようにして、フィルタ内でmanagedBeanを処理する必要はありません。 – maxqua72

関連する問題