sca*_*anE 0 grails spring-security
我在Grails应用程序中集成了Spring安全核心插件.
grails.plugins.springsecurity.successHandler.defaultTargetUrl = "/user/home"
Run Code Online (Sandbox Code Playgroud)
这是我在成功登录后设置默认主页所做的工作.但我希望根据用户角色拥有不同的主页
目前我有2个用户角色1)"ROLE_ADMIN"2)"ROLE_USER"
我该如何实现?
一种快速方法是在控制器动作中执行逻辑.例如,home动作可以基于角色呈现不同的视图,例如
import org.codehaus.groovy.grails.plugins.springsecurity.SpringSecurityUtils
class UserController {
def home() {
String view
if (SpringSecurityUtils.ifAllGranted('ROLE_ADMIN')) {
view = 'admin'
}
else if (SpringSecurityUtils.ifAllGranted('ROLE_USER')) {
view = 'user'
}
else {
// ???
}
render view: view, model: [...]
}
}
Run Code Online (Sandbox Code Playgroud)
如果您想要不同控制器中的逻辑,您可以根据角色重定向:
import org.codehaus.groovy.grails.plugins.springsecurity.SpringSecurityUtils
class UserController {
def home() {
if (SpringSecurityUtils.ifAllGranted('ROLE_ADMIN')) {
redirect controller: '...', action: '...'
return
}
if (SpringSecurityUtils.ifAllGranted('ROLE_USER')) {
redirect controller: '...', action: '...'
return
}
// ???
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2143 次 |
| 最近记录: |