Динамически изменять меню в соответствии с ролью пользователя в Grails?

Я хочу отображать другое меню в соответствии с пользователем, вошедшим в систему. Если пользователь является клиентом, отобразите другое меню, в противном случае отобразите другое меню.

У меня есть одна таблица User, которая используется для аутентификации пользователя, таблица Client, которая содержит userId в качестве внешнего ключа. Тогда как мы определяем, является ли пользователь клиентом или нет?

Еще есть какой-нибудь способ добавить контроллер для меню?


person Sushant Bhatnagar    schedule 15.12.2011    source источник


Ответы (1)


Одним из лучших способов было бы использовать плагин Spring Security. После настройки (что несложно и есть хорошая документация) вы можете управлять контентом на основе пользователей/ролей несколькими способами:

  • В контроллере - передать различные параметры меню в представление на основе вывода функции ifAllGraanted('ROLE_ADMIN')
  • Прямо в поле зрения - <sec:ifAllGranted roles="ROLE_ADMIN">

Подробнее здесь: http://grails-plugins.github.com/grails-spring-security-core/docs/manual/guide/6%20Helper%20Classes.html

person zoran119    schedule 15.12.2011