gpt4 book ai didi

grails - Spring Security Core插件:根据用户的角色,用户可以使用不同的主页

转载 作者:行者123 更新时间:2023-12-02 14:56:53 26 4
gpt4 key购买 nike

我在Grails应用程序中集成了Spring安全核心插件。

grails.plugins.springsecurity.successHandler.defaultTargetUrl = "/user/home"

这是我成功登录后设置默认主页所要做的。但我想根据用户角色使用不同的主页

目前我有2个用户角色
1)“ROLE_ADMIN”
2)“ROLE_USER”

我将如何实施呢?

最佳答案

一种快速的方法是执行 Controller Action 中的逻辑。例如,home操作可以根据角色呈现不同的 View ,例如:

import grails.plugin.springsecurity.annotation.Secured

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: [...]
}
}
如果要在不同的 Controller 之间分配逻辑,则可以根据角色进行重定向:
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
}
// ???
}
}

关于grails - Spring Security Core插件:根据用户的角色,用户可以使用不同的主页,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14675106/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com