2010-10-06 3 views
5

Как я могу проверить, что «по крайней мере одна из ролей предоставлена» из TagLib?Проверьте, не заблокирован ли от TagLib

Итак, я хочу использовать что-то вроде:

<sec:ifAnyGranted roles="ROLE_ADMIN,ROLE_SUPERVISOR">
, но в файле groovy моего TagLib.

Я использую Spring Security Core plugin.

Заранее благодарен!

ответ

5

Используйте следующий код в вашем TagLib:

class MyTagLib { 

    def myTag = { attrs, body -> 
     if (SpringSecurityUtils.ifAnyGranted("ROLE_ADMIN,ROLE_SUPERVISOR")) { 
     // do your stuff... 
     } 
    } 
} 
+0

Сначала я думал, что я должен создать экземпляр для SpringSecurityUtils, но это статический класс. Спасибо за ответ. Это было очень полезно. – tgarrey

0

Используйте следующий код в вашем TagLib:

class MyTagLib { 
    def springSecurityService // injected by Spring 

    def myTag = { attrs, body -> 
     def loggedIn = springSecurityService.loggedIn 
    } 
} 
Смежные вопросы