【问题标题】:Authorization as other user from oracle db in spring春季从 oracle db 授权为其他用户
【发布时间】:2021-03-11 21:04:53
【问题描述】:

所以,我的 oracle 数据库中有三个用户:user_role、admin_role、provider_role。他们有权执行不同的程序。另外,我有一个带有登录页面的 Spring Boot 应用程序。如何根据数据库角色更改与数据库的连接?

【问题讨论】:

  • 我认为您正在反对这样一个事实,即 Spring Boot 使通用设置变得简单,但并没有使一切变得简单。默认位置是您在 yaml/properties 中定义一个数据源,Spring Boot 管理连接池,与您在后台使用的任何持久性框架集成等。在您的情况下,您需要由多个用户建立的连接,因此您可能必须自己管理多个连接池。我不是 100% 确定没有内置弹簧靴的解决方案,但我还没有遇到过

标签: java oracle spring-boot jpa spring-data-jpa


【解决方案1】:

在您的数据模型中,您应该引入一个称为权限和角色的概念。一个角色可以拥有多个不同的权限。您不需要三个不同的表,例如 user_role、admin_roles 和 provider_role。只需为用户创建一个表,为角色和权限创建另一个表。每个用户至少有一个角色,每个角色可以拥有多个权限。

您的 SpringBoot 应用程序应该有一个授权层。所有的执行路径都应该经过这个授权层。您的所有模型(数据库)层访问,受不同类型用户允许的权限限制。该守门任务将由您的服务中的授权层负责。

【讨论】:

    猜你喜欢
    • 2011-05-15
    • 2018-08-12
    • 2019-04-28
    • 2019-06-19
    • 2014-04-07
    • 2015-02-05
    • 2017-08-19
    • 1970-01-01
    • 2020-01-11
    相关资源
    最近更新 更多