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

Spring security在所有角色名称中添加了前缀“role_”?

江恩
2023-03-14

我的Web安全配置中有以下代码:

 @Override
protected void configure(HttpSecurity http) throws Exception {
    http
            .authorizeRequests()
            .antMatchers("/api/**")
            .hasRole("ADMIN")
            .and()
            .httpBasic().and().csrf().disable();

}

因此,我在数据库中添加了一个具有“admin”角色的用户,当我使用该用户进行登录时,总是会出现403错误,然后我启用了spring的log,并发现了这一行:

2015-10-18 23:13:24.112 DEBUG 4899 --- [nio-8080-exec-1] o.s.s.w.a.i.FilterSecurityInterceptor    : Secure object: FilterInvocation: URL: /api/user/login; Attributes: [hasRole('ROLE_ADMIN')]

为什么Spring Security要查找“role_admin”而不是“admin”?

共有1个答案

孙福
2023-03-14

Spring security默认添加前缀“role_”。

如果要删除或更改此内容,请查看

如何从拦截器-URL中改变角色?

编辑:还发现:Spring Security删除RoleVoter前缀

 类似资料:
  • 问题内容: 我的Web安全配置中包含以下代码: 因此,我在数据库中添加了一个具有“ ADMIN”角色的用户,并且尝试与此用户登录时总是收到403错误,然后为spring启用了日志功能,并发现以下行: 为什么Spring Security在寻找“ ROLE_ADMIN”而不是“ ADMIN”? 问题答案: 在Spring 4中,有两个方法,并且在类中定义。这两种方法仅检查你的自定义角色名称,而不添加

  • 我的Web安全配置中有以下代码: 因此,我在我的数据库中添加了一个具有“ADMIN”角色的用户,当我尝试使用该用户登录时,总是出现403错误,然后我为spring启用了日志,我发现了以下行: 为什么Spring Security要寻找“ROLE_ADMIN”而不是“ADMIN”?

  • 在千分尺中,我们可以创建一个新的量规,类似于 见此处代码https://github . com/micrometer-metrics/micrometer/blob/master/micrometer-core/src/main/Java/io/micrometer/core/instrument/meter registry . Java # L468 是否可以默认为我的对象包含“前缀”名称?

  • 问题内容: 我有一个前缀要添加到每条路线。现在,我在每个定义处都向路线添加了一个常量。有没有一种方法可以自动执行此操作? 问题答案: 答案取决于你如何为该应用程序提供服务。 安装在另一个WSGI容器中 假设你将在WSGI容器(mod_wsgi,uwsgi,gunicorn等)中运行此应用程序;你实际上需要将该应用程序作为该WSGI容器的子部分挂载在该前缀处(任何讲WSGI的东西都可以使用),并将A

  • 问题内容: 我正在开发一个项目,其中通过添加Hibernate批注来保留一些POJO。我遇到的一个问题是,这样的代码失败了,因为Hibernate尝试将内的子字段映射到同一列上(即,两者都试图映射到colum ,从而导致错误)。 由于会有很多出现这样在整个系统中,这将是很好,如果有一个选项来自动添加一个前缀列的名称(例如使列是,,,),而不必基于每个应用覆盖领域基础。Hibernate是否具有此功

  • 问题内容: 我有一个前缀要添加到每条路线。现在,我在每个定义处都向路线添加了一个常量。有没有一种方法可以自动执行此操作? 问题答案: 答案取决于你如何为该应用程序提供服务。 子安装在另一个容器中 假设你将在容器(等)中运行此应用程序;你实际上需要将该应用程序作为该容器的子部分挂载在该前缀处(任何讲WSGI的东西都可以使用),并将值设置为你的前缀: 设置配置值只是将的会话限制为该URL前缀。和出色的