2010-12-30 9 views
1

ナビゲーションプラグインのようないくつかのgrailsメニュープラグインがあります。私は彼が彼のユーザープロファイルに従ってアクセスできるメニューアイテムだけをユーザーに示す必要があります。これを達成する最も簡単な方法は何ですか?いくつかのgrailsセキュリティプラグインと統合できるメニュープラグインはありますか?プロファイリングのGrailsメニュー

答えて

2

isVisibleを使用してメニューアイテムを条件付きで非表示にする例がnavigation pluginです。

def springSecurityService 
// ... 
static navigation = [ 
    [group:'userOptions', action:'login', order: 0, isVisible: { SpringSecurityUtils.ifAllGranted('ROLE_ADMIN') }], 
    [action:'logout', order: 99, isVisible: { springSecurityService.isLoggedIn() }] 
] 

また、春のセキュリティはsome tagsに付属している場合にのみ、タグ本体をレンダリングします:あなたは春のセキュリティプラグインを使用している場合は、SpringSecurityUtils上または注入さSpringSecurityService Beanのメソッドでこれを組み合わせることができユーザーはどのような役割でログインしていない/ログインしていないので、次のようにメニュー項目をロールするだけです:

<sec:ifAllGranted roles="ROLE_ADMIN"> 
    // Render <g:link../> to an admin page here. 
</sec:ifAllGranted> 
関連する問題