gpt4 book ai didi

java - Spring Boot微服务: dynamic role, 基于权限的安全

转载 作者:太空宇宙 更新时间:2023-11-04 12:10:47 24 4
gpt4 key购买 nike

我们已经使用 Spring Boot 微服务创建了应用程序,应用程序包含jsp页面和rest uri。

对于这种类型的架构,期望提供保护页面和 uri 的建议。我想要基于角色和权限的访问,其中权限包含列出的所有页面和 uri,并且 role_permission_mapping 具有针对角色的 uri/页面映射。

管理员有权使用某些 UI 动态添加角色、权限和映射。

下图显示了示例表结构。

建议我是否有内置机制可以为此类需求提供开箱即用的支持。

enter image description here

最佳答案

为此,您可以使用 Spring Security 中拦截 URL 的概念。

  1. 基于 Java 的配置 - h ttp://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#authorize-requests
  2. 基于 XML 的配置 - h ttp://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#ns-minimal h ttp://docs.spring.io/spring-security/site/docs/current/reference/htmlsingle/#nsa-intercept-url

在你的例子中,要拦截的URL是“permission”。在您的特定情况下,您可能希望在 Spring Security 中动态配置拦截 URL,从数据库中读取它们(权限)。您可以查看以下答案,通过实现自定义 FilterInitationSecurityMetadataSource 来实现相同的目的。 -

  1. how can I manage spring security url pattern in java class instead of xml config
  2. How to dynamically decide <intercept-url> access attribute value in Spring Security?

P.S:很抱歉 Spring 文档的链接已损坏。 StackOverflow 不允许我发布超过 2 个链接,因为我是这里的新贡献者。

关于java - Spring Boot微服务: dynamic role, 基于权限的安全,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39888380/

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