gpt4 book ai didi

grails - Requestmap无法按预期运行

转载 作者:行者123 更新时间:2023-12-02 15:44:33 25 4
gpt4 key购买 nike

Bootstrap.groovy中,我创建了一个新的requestmap,其中ROLE_ADMIN作为configAttribute和/ **作为URL。当我以ROLE_ADMIN登录时,我能够访问所有URL。

当我在UI中以ROLE_TEST作为configAttribute和/ customer / **作为URL添加新的requetsmap时,具有ROLE_ADMIN的用户无法访问客户页面。即使ROLE_ADMIN具有/ **特权。

现在,只有具有ROLE_TEST的用户才能访问客户页面,而其他用户则不能。
该功能所需要的是,测试用户应该只能访问客户页面,而不能访问任何其他页面。但是,当前“客户”页面只能由测试用户访问。

Config.groovy

设置-
grails.plugin.springsecurity.userLookup.userDomainClassName = 'com.bi.report.auth.User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'com.bi.report.auth.UserRole'
grails.plugin.springsecurity.authority.className = 'com.bi.report.auth.Role'
grails.plugin.springsecurity.requestMap.className = 'com.bi.report.auth.Requestmap'
grails.plugin.springsecurity.securityConfigType = 'Requestmap'

Bootstrap.groovy代码
def loadRequestMap(){
if (Requestmap.count()<=0) {
new Requestmap(url: '/**', configAttribute: 'ROLE_ADMIN').save()
/*new Requestmap(url: '/**', configAttribute: 'IS_AUTHENTICATED_ANONYMOUSLY').save()*/
new Requestmap(url: '/*/', configAttribute: 'ROLE_ADMIN').save();
new Requestmap(url: '/logout/**', configAttribute: 'IS_AUTHENTICATED_REMEMBERED,IS_AUTHENTICATED_FULLY').save();
new Requestmap(url: '/login/**', configAttribute: 'IS_AUTHENTICATED_ANONYMOUSLY').save()
new Requestmap(url: '/index/**', configAttribute: 'IS_AUTHENTICATED_ANONYMOUSLY').save();
}
}

欢迎大家提出意见。
谢谢。

Grails版本 2.3.4Spring Security插件: compile ":spring-security-core:2.0-RC2"

最佳答案

您需要定义可以访问URL的所有角色。

例如:
new Requestmap(url: '/admin/user/**', configAttribute: 'ROLE_ADMIN,ROLE_SUPERVISOR').save()
☝️说具有ROLE_ADMIN或ROLE_SUPERVISOR的用户可以访问URL /admin/user/**
您可以在http://grails-plugins.github.io/grails-spring-security-core/2.0.x/guide/requestMappings.html#requestmapInstances上了解更多有关它的信息。
/**ROLE_ADMIN无法按您期望的方式工作,因为该插件会计算适用于当前请求的最具体的规则。
/customer/**/**更具体,因此应用了ROLE_TEST的关联角色。

关于grails - Requestmap无法按预期运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50511756/

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