JSF2で承認を実装するための最良の方法は何ですか?サーブレットフィルター、フェーズリスナー、またはその他は、私が気付いていない新しいものですか?
3193 次
1 に答える
2
これには、認証と承認の2つの要素があります。
最初の認証:URLパターンに従ってJAASベースの認証を実行するようにweb.xmlを構成できます。または、URLベースの認証が粗すぎる場合は、PhaseListenerを使用して手動で行うか、HttpServletRequest login()メソッド(サーブレット3.0の新機能)を使用してページアクションを実行できます。このメソッドには、を介してアクセスできますFacesContext.getCurrentInstance().getExternalContext()
。
JASSレルムに対して認証されると、役割ベースの承認を検討できます。ここでも、いくつかのオプションがあります。
- url-patternに従って、web.xml内の指定されたロールへのページアクセスを制限できます。
- を使用して
FacesContext.getCurrentInstance().getExternalContext().isUserInRole("role")
、バッキングBeanの現在のロールにプログラムでアクセスできます。 - ユーザーロールに基づいて、式言語を使用してビュー内のコンポーネントを条件付きでレンダリングできます。(Seamにはs:hasRole EL式があり、IceFacesにはrenderedOnUserRole属性があります。または、独自のバッキングBeanからロールを公開できます)。
于 2010-06-02T14:48:05.093 に答える