- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
如果您支持的旧应用程序没有所有角色的前缀,那么支持“ROLE_”前缀的最佳方式是什么?有没有办法忽略或忽略它的加载?
最佳答案
似乎没有一种简单的方法可以忽略正常的 spring 安全配置中的前缀。但是,我发现从数据库加载时,您可以轻松地将“ROLE_”附加到所有角色。我只是使用 MySQL 中的 CONCAT 函数将“ROLE_”添加到所有角色。见下文:
<authentication-manager>
<authentication-provider>
<password-encoder hash="md5"/>
<jdbc-user-service
data-source-ref="dataSource"
authorities-by-username-query="SELECT username, CONCAT('ROLE_', rolename) as authority FROM user_role WHERE active = 1 AND username = ?"
users-by-username-query="SELECT username, password, active FROM user WHERE username = ?" />
</authentication-provider>
</authentication-manager>
如果您使用 UserDetailsService 接口(interface)创建自己的类,也可以应用此概念:
<!-- Select users and user_roles from database -->
<authentication-manager alias="authenticationManager">
<authentication-provider user-service-ref="myUserDetailsService">
<password-encoder ref="encoder" />
</authentication-provider>
</authentication-manager>
<beans:bean id="encoder" class="com.my.security.MyPasswordEncoder" />
注意:我对“身份验证管理器”使用“别名”而不是 ID,因为如果我覆盖默认 ID,则在身份验证过程中我的自定义似乎会被忽略。
关于java - 支持 Spring Security "ROLE_"前缀的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33480183/
我的网络安全配置中有此代码: @Override protected void configure(HttpSecurity http) throws Exception { http
我有下面的 javascript“下划线”代码,用于检查给定的 USER_ROLES 是否至少有一个 VALID_ROLES。如果是则返回 true,否则返回 false。效果很好。 但我想重构它,以
如果您支持的旧应用程序没有所有角色的前缀,那么支持“ROLE_”前缀的最佳方式是什么?有没有办法忽略或忽略它的加载? 最佳答案 似乎没有一种简单的方法可以忽略正常的 spring 安全配置中的前缀。但
在Spring Security中,什么时候加"ROLE_"前缀比较合适?在使用 @PreAuthorize("hasRole('ROLE_USER')") 的示例中,确实如此。但在这个例子中,它没有
我一直在研究如何创建自定义角色前缀,直到我意识到这无关紧要。只要我的数据库中的角色匹配以下内容: 这不是示例,在 db 中,我确实设置了角色 BlaBla 进行测试并且它有效。 我不喜欢出现不同的行
亲爱的大家,我正在使用 spring 5,并且希望删除 ROLE_ 前缀。因此,我使用“grantedAuthorityDefaults”并将角色前缀设置为“”。不幸的是,当我稍后在没有登录(公共(p
一些背景:我们有一个集成测试类,用于测试与 Spring 授权一起使用的常量 SPEL 字符串。简单的例子: @SpringBootTest @RunWith(SpringRunner.class)
我正在尝试删除 Spring Security 中的“ROLE_”前缀。我尝试的第一件事是: http.servletApi().rolePrefix(""); 这不起作用,所以我尝试按照 http:
我在使用 Java Config 围绕自定义 RoleVoter 升级到 Spring Security 3.2 时遇到了一些困难。删除 ROLE_字首。具体来说,我从原始 XML 中得到了这个:
我正在学习 Spring Security,并且正在使用 Spring Security 3.2.7,并且对 servlet 集成功能有疑问 引用Spring文档 3.1.3. HttpServlet
我的 Spring Boot 应用程序在 Spring Security 3.2.7.RELEASE 上运行。现在,我想将其更新为 4.0.2.RELEASE。 经过数小时的调试,我发现 Spring
我是一名优秀的程序员,十分优秀!