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

通过组的Spring security JDBC身份验证机构

周奇文
2023-03-14

我已经问了关于hasAuthor()和hasRole()的相关问题,这部分很清楚。我尝试使用组权限配置我的应用程序。如果我使用指令,配置对我有效。hasAuthor(“ADMIN”)

http
    .antMatcher("/monitor/console/**")
    .authorizeRequests()
    .antMatchers("/monitor/console/**")
    .hasAuthority("ADMIN")
    .... // other unimportant java code..

但如果我把它改成。hasRole(“管理员”)或。hasRole(“ROLE_ADMIN”)限制不起作用。我可以在JdbcDaoImpl服务中查看登录时加载的用户详细信息,我可以看到附加的权限列表,但我不知道为什么hasRole(…)没用。我希望有人知道我需要在哪里使用断点来检查对象状态和比较结果,或者如何修复它。

我真的很困惑,因为当我使用单权限表时,限制功能正常工作。。。

共有1个答案

景国兴
2023-03-14

在Spring,角色和权威是一样的。在Spring Security 4之前,它们都是以相同的方式处理的。方法hasAuthority()刚刚在内部调用了方法hasRole()。

现在使用Spring Security 4,方法hasRole()将前缀ROLE_添加到角色的名称中,因此hasAuthory('ROLE_ADMIN')与hasRole('ADMIN')相同,因为ROLE_前缀会自动添加。

你可以在这里看到更多。http://docs.spring.io/spring-security/site/migrate/current/3-to-4/html5/migrate-3-to-4-jc.html#m3to4-角色前缀

在您的情况下,我认为您需要在加载角色时将前缀ROLE_添加到数据库o中的角色。

 类似资料:
  • 问题内容: 问题: 我们有一个基于Spring MVC的RESTful API,其中包含敏感信息。该API应该是安全的,但是不希望随每个请求一起发送用户凭证(用户/密码组合)。根据REST准则(和内部业务要求),服务器必须保持无状态。该API将由另一台服务器以mashup方式使用。 要求: 客户端使用凭据向(不受保护的URL)发出请求;服务器返回一个安全令牌,该令牌包含足够的信息供服务器验证未来的

  • 我们想使用Jitsi REST API创建一个会议。我们的Jitsi实例已经受到Prosody的保护:只有某些用户可以主持会议(他们必须使用用户和密码凭据进行身份验证才能主持会议室)。现在,在他们这么做之后,计划是通过创建一个来宾密码来保护房间,聊天伙伴/来宾需要输入该密码才能加入会议。这个过程需要通过REST API实现自动化:我们希望通过REST API创建会议,并传递一个需要来宾输入的密码。

  • 一切都一直在工作,只是今天我开始得到一个错误消息,我甚至不能从Android工作室“同步项目与Gradle文件”。我唯一改变的是...办公室:D

  • 问题: 我们有一个spring的基于MVC的RESTful API,它包含敏感信息。API应该是安全的,但是不希望在每个请求中发送用户的凭据(User/Pass组合)。根据REST指南(和内部业务需求),服务器必须保持无状态。API将由另一台服务器以混搭方式使用。 要求: > 客户端请求使用凭据(不受保护的URL);服务器返回一个安全令牌,该令牌包含足够的信息,供服务器验证未来的请求并保持无状态。

  • 我正在运行带有公开WebSocketendpoint的服务器。下面是我的: 问题是如何使用或或查询参数实现建立WS连接的身份验证? 更好的选择是避免使用Spring Security。 多谢了。

  • 我正在尝试在WooCommerce Webhook API和我的节点之间创建一个集成。js后端。然而,我真的不知道应该如何使用这个秘密来验证请求。 机密:一个可选的密钥,用于生成请求正文的HMAC-SHA256哈希,以便接收方可以验证webhook的真实性。 返回以下值: :pU9kXddJPY9MG9i2ZFLNTu3TXZA 85pnwfPqmr0dg0= 签名:PjKImjr9Hk9MmId