У меня есть URI, такой как someController / someAction? Param1 = aa¶m2 = bb
Есть ли какой-либо метод grails может извлечь имя контроллера и имя действия из этого URI.
илиУ Широ есть какой-либо метод, чтобы обнаружить, что этот URI разрешен?
У меня есть доменное Меню (имя, URL), и теперь я хочу получить список меню, который разрешен для текущего пользователя.
URL-адрес, такой как / auth / login (может отображаться как user: login), / user / login
, поэтому 2 дня назад я задал этот вопрос.
теперь я изменяю меню на(name, controller, action, param) и отфильтруйте menulist следующим образом:
def subject = SecurityUtils.subject;
menuList.each{
if(it.permission){
def perm = shiroPermissionResolver.resolvePermission("${it.permission.controller}:${it.permission.action}")
def isPermitted = subject.isPermitted(perm)
println "$isPermitted -> ${it.permission.controller}:${it.permission.action}"
}
}
извините за мой плохой английский, и спасибо за ответ.
кстати, вотЕще один вопрос о том, как кешировать shiro: как использовать разрешения кеширования в grails shiro
Для proflux: так что, по вашему мнению, является лучшим способом хранения menulist?причина:
- это должно показать пользователю другое меню из-за его прав доступа.
- иногда мы обновляем веб-приложение, но хотим показать меню пользователю позже.поэтому нам нужно только изменить, например, menu.visible.(лучше, чем менять жесткий код cfg или source).
- мы используем extjs для отображения меню (поэтому плагин nav не может использоваться).