現在のユーザーの役割をリストで返す標準のユーザー/役割のセットアップがあります。次に、 permissions="" 属性と preFuseaction フェーズを使用して、このユーザーがこの fuseaction へのアクセスを許可されているかどうかを確認します。これにより、ページの一部のブロックを表示し、別のユーザーに対して一部を非表示にすることができます。
これと同じことを、より詳細なレベルで行うことはできません。つまり、権限のないユーザーに対してサイドバーにリンクを表示しないようにすることはできません。言う:
<ul>
<li><a href="#xfa.mainmenu#>Main Menu</a></li>
<li><a href="#xfa.adminmenu#>Admin Menu</a></li>
</ul>
管理者メニューは、「管理者」ロールを持つユーザーのみが利用できるようにする必要があります。通常のユーザーがこのリンクをクリックしても、fuseaction が実際に実行されると追い出されるため、どこにもたどり着きません。リンクは最初から無かった方がいいと思います。
これは、ロールを .cfm ファイルにハードコーディングすることで実行できます。
<ul>
<li><a href="#xfa.mainmenu#>Main Menu</a></li>
<cfif checkRole('admin') EQ TRUE><li><a href="#xfa.adminmenu#>Admin Menu</a></li></cfif>
</ul>
しかし、静的値の代わりに circuit.xml で定義されたパーミッションを参照して checkRole() に渡すことができれば (おそらく xfa を渡すことによって)、もう少し洗練されたものになるでしょう。これは、Fusebox が作成する構造で可能ですか?