gpt4 book ai didi

redirect - Spring Security-Grails 3.2.2-ERR_TOO_MANY_REDIRECTS

转载 作者:行者123 更新时间:2023-12-02 14:06:03 39 4
gpt4 key购买 nike

我在application.yml上有这个:

grails.plugin.springsecurity.successHandler.alwaysUseDefault = true
grails.plugin.springsecurity.successHandler.defaultTargetUrl = '/l/loggedIn'
l/loggedIn看起来像:
def loggedIn() {
User user = springSecurityService.currentUser

def roleDefault = Role.findByAuthority("ROLE_DEFAULT")
if(user.authorities.contains(roleDefault))
redirect(controller: 'foo', action:'index')

def roleAdmin = Role.findByAuthority("ROLE_ADMIN")
if(user.authorities.contains(roleAdmin))
redirect(view: 'index')

}

在我的应用程序中以 admin登录时,出现 ERR_TOO_MANY_REDIRECTS错误。

有任何解决这个问题的方法吗?

更新
@Secured(["ROLE_ADMIN", "ROLE_DEFAULT"])
class FooController {

def index() {}
}

最佳答案

redirect不会考虑view,而render会考虑。

允许的选项包括actioncontrolleruriurlparamsfragment和/或域实例。

因此,您可以做类似的事情,

def loggedIn() {
User user = springSecurityService.currentUser

def roleDefault = Role.findByAuthority("ROLE_DEFAULT")
if(user.authorities.contains(roleDefault))
redirect(controller: 'foo', action:'index')

def roleAdmin = Role.findByAuthority("ROLE_ADMIN")
if(user.authorities.contains(roleAdmin))
redirect(controller: 'foo', action:'adminIndex')
}

然后在您的 Controller 中定义 actions和可用的适当 View 。
@Secured(["ROLE_ADMIN", "ROLE_DEFAULT"])
class FooController {

def index() {}

def adminIndex() {}

}

阅读 docs

关于redirect - Spring Security-Grails 3.2.2-ERR_TOO_MANY_REDIRECTS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46559901/

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