当前位置: 首页 > 知识库问答 >
问题:

grails的Spring Security核心插件-无法从数据库访问Request estMap参数

钱展
2023-03-14

我已经安装了圣杯Spring安全核心插件与请求地图从数据库中检索URL。我假设我已经按照指南中提到的设置了所有内容。当我开始我的应用程序(http://localhost:8080/scadmin/index/)时,我得到“对不起,你无权查看此页面”。管理员用户已正确进行身份验证,但请求映射不允许我访问该 URL。我做错了什么?请帮忙。

config.groovy

grails.plugin.springsecurity.userLookup.userDomainClassName = 'com.tx.sc.auth.User'
grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'com.tx.sc.auth.UserRole'
grails.plugin.springsecurity.authority.className = 'com.tx.sc.auth.Role'
grails.plugin.springsecurity.requestMap.className = 'com.tx.sc.auth.Requestmap'
grails.plugin.springsecurity.securityConfigType = 'Requestmap'

我的控制器-

class AdminController {
    def index() {
        List<Portal> pList = portalService.listAllPortalInfo()
        render(view: "admin", model:[portalList:pList])
    }
}

设置角色

def adminRole = new Role(authority: 'ROLE_ADMIN').save(flush: true)

管理员用户

    def adminUser = new User(username: 'admin', password: '12345',email: 'admin@abc.com',enabled: true, accountLocked: false, accountExpired: false, passwordExpired: false).save(flush: true)

映射用户和角色-

    if (!adminUser.authorities.contains(adminRole)) {
        UserRole.create(adminUser, adminRole, true)
    }

请求映射-

 new Requestmap(url: '/scadmin/admin/index', configAttribute: 'ROLE_ADMIN').save(flush: true)

共有1个答案

宓弘壮
2023-03-14

/scadmin/管理员/索引应为 /管理员/索引 - 不要包含上下文。

 类似资料:
  • 我正在尝试将安全插件3.2.1用于grails 3.3.5。

  • 主要内容:1.引入jar包,2.配置文件编写,3.编写数据库,4.编写实体类,5.编写Mapper接口,6.在业务层中引入用户的用户名和密码,7.测试1.引入jar包 2.配置文件编写 appilication.properties 需要注意后面需要加上时区,因为当前引入的是SpringBoot2以上的版本 3.编写数据库 4.编写实体类 5.编写Mapper接口 这里是继承了BaseMapper接口 6.在业务层中引入用户的用户名和密码 第一个是导入UserMapper接口 第二个是根据接口去

  • 我使用的是Grails 2.2.2,通过在BuildConfig中添加以下几行,我已经安装了spring-security-core-2.0-RC2。groovy文件: 插件安装成功,我已经使用s2快速入门脚本创建了安全域和控制器。 现在,我用以下代码更新了我的一个控制器: 但是,当我尝试运行该应用程序时,出现以下错误: |错误编译错误:启动失败:C:\workspace\SW开发\生产\MyGr

  • 我正在一个开发应用程序中通过GGTS3.4.0使用grails 2.3.3,现在我想开始使用Spring security core插件。 在buildconfig文件的插件部分中,并: 在文件的存储库部分有相同的依赖关系错误问题。 我使用的Grails/ggts版本的插件版本是否错误? http://mvnrepository.com/artifact/:http://mvnrepository

  • 一个ASP.NET web项目加载了解决方案,但我得到了这个错误

  • 这在调试期间也有效,但是当我发布到Azure时,它也会失败,因为我的密钥返回null。 任何帮助在哪里我应该看看如何解决这将是伟大的。为什么在生产中会得到null,而在提供相同凭据时却不进行调试?