我已经设置了'ROLE_ADMIN', 'ROLE_SUPERUSER', 'ROLE_USER'
个角色,但他们的工作非常完美。现在,我需要授予3个特定用户访问某个页面(用户名:admin1,admin2,admin3)。
我尝试了controller-centric approach,如下所示......
import grails.plugin.springsecurity.annotation.Secured
@Secured(["authentication.name == 'admin1'", "authentication.name == 'admin2'", "authentication.name == 'admin3'"])
def transferMoney() {...}
但是只允许访问第一个用户admin1
,其余2个用户无法访问。
然后我尝试从static mapping ...
提供访问权限grails.plugin.springsecurity.interceptUrlMap = [
'/hostAdmin/account/transferMoney': ["authentication.name == 'admin1'", "authentication.name == 'admin2'", "authentication.name == 'admin3'"]
]
或
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
[pattern: '/hostAdmin/account/transferMoney', access: ["authentication.name == 'admin1'", "authentication.name == 'admin2'", "authentication.name == 'admin3'"]]
]
但是它们都没有效果,/hostAdmin/account/transferMoney
页面对所有人开放。
有人可以帮帮我吗?我真的必须弄清楚如何只访问这3个用户。提前谢谢!
答案 0 :(得分:0)
解决方案实际上非常简单^ _ ^
我选择了以控制器为中心的方法。这两种解决方案都有效......
Sub B64_click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles B64.Click
Dim BClick As Integer = 0
If BClick = 0 Then
BClick = 1
'Other instructions
End If
或
@Secured(["authentication.name == 'admin1' || authentication.name == 'admin2' || authentication.name == 'admin3'"])
希望有人发现这有用:)