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

Spring Security ACL自定义对主题的默认访问

刘嘉木
2023-03-14

使用spring ACL,我可以为Subject上的某些操作配置权限。我的应用程序很少需要自定义对主题的访问权限。因此,我不想为默认依赖项填充ACL,但如果ACL为空,则需要特殊说明。

例如,我们有

branch1
|-doc1
|-doc2
|-doc3
branch2
|-doc1
|-doc2
|-doc3

user1 belongs to branch1
user2 belongs to branch2

共有1个答案

武睿
2023-03-14

我先做个推荐:

我的应用程序很少需要自定义对主题的访问权限。因此,我不想为默认依赖项填充ACL,但如果ACL为空,则需要特殊说明。

不确定这是一个好主意(不是说你一定不能,只是提醒你注意)。这需要特殊的逻辑(这些人是以这种方式授权的,而那些人是以那种方式授权的),这增加了应用程序的复杂性。我将解释一些您可能不知道的关于Spring SecurityACL的内容,然后提供另一种方法。

您可以使用父ACL的概念来解决所要求的问题。从文档中:

ACL_OBJECT_IDENTITY存储系统中每个唯一域对象实例的信息。列包括[...]parent,ACL_SID表的外键,表示域对象实例的所有者,以及我们是否允许ACL条目从任何父ACL继承。每个存储ACL权限的域对象实例都有一行。

这样,Branch2可以有一个acl,Branch2.doc3可以有一个从Branch2继承的acl。

使用这种方法的优点是,随着复杂性的增长,它更容易伸缩。您仍然采用单一的方式,并且可以使用任意复杂的逻辑来定义ACL。

 类似资料:
  • 打开主题配置 选一个自己喜欢的主题吧

  • 自定义主题 Element 默认提供一套主题,CSS 命名采用 BEM 的风格,方便使用者覆盖样式。我们提供了四种方法,可以进行不同程度的样式自定义。 主题编辑器 使用在线主题编辑器,可以修改定制 Element 所有全局和组件的 Design Tokens,并可以方便地实时预览样式改变后的视觉。同时它还可以基于新的定制样式生成完整的样式文件包,供直接下载使用(关于如何使用下载的主题包,请参考本节

  • uView目前可以自定主题色,字体颜色,边框颜色等,所有组件内部的样式,都基于同一套主题,比如您修改了primary主题色,所有用到了primary颜色 的组件都会受影响。 教程 可以在打开的颜色拾取器中输入或者选择颜色,再点"确定"按钮即可。 颜色配置完后,在页面底部下载文件,会得到一个名为uview.theme.scss的文件。 将文件复制到项目的公共目录(视情况而定)中,再在项目根目录的un

  • Element Plus 默认提供一套主题,CSS 命名采用 BEM 的风格,方便使用者覆盖样式。我们提供了四种方法,可以进行不同程度的样式自定义。 仅替换主题色 如果仅希望更换 Element Plus 的主题色,推荐使用在线主题生成工具。Element Plus 默认的主题色是鲜艳、友好的蓝色。通过替换主题色,能够让 Element Plus 的视觉更加符合具体项目的定位。 使用上述工具,可以

  • 问题内容: 有没有简单的方法可以自定义现有主题?对于默认主题,有很多主题属性,但是在sphinxdoc中,我什至无法设置徽标或更改某些颜色。 还是可以向我推荐一个可以学习如何修改主题的网站? 问题答案: 我只想在我的狮身人面像文档中添加ReST删除线。这是我的做法: 在: (这使其看起来像默认主题(图2)) 在: 然后,在您的conf.py中: 此处更多信息:https : //sphinx.re

  • 为了进一步加强我们解决方案的安全性,我们现在正在研究使用的SNS主题和SQS队列。我们的所有组件都位于同一个AWS帐户中。 首先,我们希望限制对基于IP的SQS队列的访问。因此,只允许来自NAT网关IP的请求。我们不允许匿名访问SQS队列。 但似乎没有办法实现这一点,因为SQS队列的创建者(AWS帐户id)在默认情况下具有访问权限。因此,您无法在同一AWS帐户id中为其他用户创建有效权限。因为新创