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

Spring Security域模型授权

狄兴邦
2023-03-14

Spring Security有一个主体和授权的基本思想。我已经实现了Spring Security,并阅读了这篇stackoverflow文章,从基本的层面上理解了“role”只不过是一个前缀为“role_”的GrantedAuthority。

我不明白的是,一开始为什么要有这个惯例?为什么@preauthorize(“hasrole('xyz')”)@preauthorize(“hasauthorize('role_xyz')”)等同?

像这样隔离被授予的权力有什么特别之处?目的是什么?

另外,将这些“角色”应用于领域模型的特定实例的最佳约定是什么。以跟踪项目的系统为例,您希望显式地授予用户查看和编辑某些项目的访问权限。我可以创建ROLE_EDIT_PROJECT和ROLE_VIEW_PROJECT,但这是应用程序范围的。你会把一个角色与一个特定项目的关系放在哪里?联接表?您是否会将Spring Security性引入其中,或者在应用程序中从头开始构建这种类型的安全性?

共有1个答案

东门令
2023-03-14

不幸的是,我不知道为什么要使用这个约定,我猜可能只是遗留代码

对于问题的第二部分,我建议使用“hasPermission(project,'view')”并定义您自己的PermissionEvaluator。

更多信息可以在这里找到

 类似资料:
  • 权限模型介绍Talos中认证/授权相关的概念和配置规则 权限类型 PUT_MESSAGE = 1 // Message Write GET_MESSAGE = 2 // Message Read FULL_MESSAGE_CONTROL = 3 // Messa

  • 问题内容: 我只是想查找Martin Fowler的域模型模式的一些示例,但我找不到。 从我在Internet Domain Model上发现的内容来看,只是在类中添加了一些“逻辑”方法。例如 我理解正确吗?如果不是这样,我将不胜感激地举一个域模型模式用法的小例子。 问题答案: 我理解正确吗?如果没有,我将举一个例子。 大致上是。 对于Martin Fowler而言, 领域模型是领域的对象模型,其

  • 快住手!域模型不是持久性模型 如果这是真的,将持久性对象与域对象分开有什么好处呢?

  • 我目前正在进行一个项目,该项目需要使用QVTO将一个模型转换为另一个模型。源模型是以表格形式表示的状态机。目标模型也是具有节点和边的statemachine。源模型只有领域元模型,但目标模型同时具有领域和符号元模型。符号元模型是http://www.eclipse.org/gmf/runtime/1.0.2/notation。我从源域模型转换到目标域模型,但是我的目标模型没有表示法模型。我想做的是

  • 在这个话题上有数百个类似的问题。但我仍然感到困惑,我希望得到专家的建议。 我们正在使用ASP开发一个应用程序。NETMVC4和EF5以及我们的是DB优先的方法。 我们在一个单独的项目中有数据层,该项目是一个类库,包含其中定义的所有实体。然后是用所有存储库和域模型定义的业务层(这是正确使用的术语)。然后是表示层。 目前我们还没有定义任何视图模型,我们使用的是与视图模型相同的BL域模型。在这种方法中,