Плагин для навигации имеет пример использования isVisible
для условного скрытия пунктов меню. Если вы используете плагин Spring Security, вы можете комбинировать его с методами SpringSecurityUtils или внедренного компонента SpringSecurityService :
def springSecurityService
// ...
static navigation = [
[group:'userOptions', action:'login', order: 0, isVisible: { SpringSecurityUtils.ifAllGranted('ROLE_ADMIN') }],
[action:'logout', order: 99, isVisible: { springSecurityService.isLoggedIn() }]
]
В качестве альтернативы Spring Security поставляется с некоторыми тегами , которые будут отображать тело тега только в том случае, если пользователь не вошел в систему, с какими ролями и т. Д., Поэтому вы можете просто прокрутить пункты меню вручную как это:
<sec:ifAllGranted roles="ROLE_ADMIN">
// Render <g:link../> to an admin page here.
</sec:ifAllGranted>