0

JSF2で承認を実装するための最良の方法は何ですか?サーブレットフィルター、フェーズリスナー、またはその他は、私が気付いていない新しいものですか?

4

1 に答える 1

2

これには、認証と承認の2つの要素があります。

最初の認証:URLパターンに従ってJAASベースの認証を実行するようにweb.xmlを構成できます。または、URLベースの認証が粗すぎる場合は、PhaseListenerを使用して手動で行うか、HttpServletRequest login()メソッド(サーブレット3.0の新機能)を使用してページアクションを実行できます。このメソッドには、を介してアクセスできますFacesContext.getCurrentInstance().getExternalContext()

JASSレルムに対して認証されると、役割ベースの承認を検討できます。ここでも、いくつかのオプションがあります。

  1. url-patternに従って、web.xml内の指定されたロールへのページアクセスを制限できます。
  2. を使用してFacesContext.getCurrentInstance().getExternalContext().isUserInRole("role")、バッキングBeanの現在のロールにプログラムでアクセスできます。
  3. ユーザーロールに基づいて、式言語を使用してビュー内のコンポーネントを条件付きでレンダリングできます。(Seamにはs:hasRole EL式があり、IceFacesにはrenderedOnUserRole属性があります。または、独自のバッキングBeanからロールを公開できます)。
于 2010-06-02T14:48:05.093 に答える