4.6. ユーザーロールの特定
RichFaces では、
rich:isUserInRole(Object) 関数を用いて、 ログインしたユーザーが特定の user role に属しているかをチェックできます。 この関数は、 1 つのストリングまたはストリングのコンマ区切りリスト、 1 つのコレクションなどを引数として取り、 ブール値を返します。
例として、 管理者に対してのみコントロールの一部をレンダリングする必要があるとしましょう。 この場合、 管理者ロール (
admin) を web.xml ファイルに作成し、 管理者としてログインしたユーザーに admin ロールを割り当てる認証を実装します。 これで、コンポーネントの rendered 属性を用いて rich:isUserInRole(Object) 関数を使用できるようになります。例えば以下のとおりです。
...
<rich:editor value="#{bean.text}" rendered="#{rich:isUserInRole('admin')}" />
...
...
<rich:editor value="#{bean.text}" rendered="#{rich:isUserInRole('admin')}" />
...
この例では、
admin ロールを持つログインユーザーのみがテキストエディタを見ることができます。 他のロールを持つユーザーにはレンダリングされません。