2010-10-06 19 views
5

Làm cách nào tôi có thể xác minh rằng "ít nhất một trong các vai trò được cấp" từ một TagLib?Xác minh ifAnyGranted từ một TagLib

Vì vậy, tôi muốn sử dụng một cái gì đó như:

<sec:ifAnyGranted roles="ROLE_ADMIN,ROLE_SUPERVISOR">
nhưng trong tệp groovy của TagLib của tôi.

Tôi đang sử dụng Spring Security Core plugin.

Cảm ơn trước!

Trả lời

5

Sử dụng đoạn mã sau vào taglib của bạn:

class MyTagLib { 

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

Lúc đầu, tôi nghĩ rằng tôi nên tạo một thể hiện cho SpringSecurityUtils, nhưng nó là một tĩnh lớp học. Cảm ơn bạn đã trả lời. Nó đã rất hữu ích. – tgarrey

0

Sử dụng đoạn mã sau vào taglib của bạn:

class MyTagLib { 
    def springSecurityService // injected by Spring 

    def myTag = { attrs, body -> 
     def loggedIn = springSecurityService.loggedIn 
    } 
} 
Các vấn đề liên quan