问题标签 [acl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
design-patterns - 对象上的 CRUD 级锁定 - 设计模式
您是否知道任何用于在对象上实现 CRUD 级别锁定的设计模式,这意味着对于对象的一个实例,我应该能够为每个操作(创建、读取、更新、删除)指定不同的访问控制级别。例如,人 A 可以读取和更新对象 Z,但不能删除它。B 可以读取、更新和删除对象 X、Y 和 Z。
我担心的是当有大量数据时会发生什么。换句话说,我正在寻找有效的东西。
我曾经为对象实现过这种访问控制,我知道它是如何实现的,我只是想知道是否真的存在某种设计模式。
cakephp - cakephp acl aros_acos 悖论
我正在尝试使用 Auth 和 Acl 组件在我的 cakePHP 站点中实现身份验证/授权组合,但是我的实现发生了一些奇怪的事情。我有正确的 acos、aros 和 aros_acos 表,它们似乎在某种程度上可以工作。
我已经像这样映射了我的操作:
$this->Auth->mapActions(array('read' => array('view'), 'update' => array('edit')));
我的 acos 表如下所示:
- 地点
- 1.1 页面
- 1.2 用户
- 1.3 组
- 1.4 管理员
和 aros 表:
- 用户
- 1.1 编辑
- 1.1.1 管理员
- 1.1.1.1 管理员名称
- 1.2 普通用户
用户、编辑者和管理员是组。admin_name 是管理员用户,admins 组的成员,regular_user 是 users 组的成员。
现在,在 aros_acos 表中,如果我给“用户”组这样的“页面”的 CRUD 权限:0 1 1 0(这赋予他们阅读和更新的权利)那么一切正常(至少对于“查看”和“编辑”操作)。但是如果我输入 0 1 0 0(只有阅读权),那么我会被重定向到“/”,我注意到的一件特别的事情是它没有调用 app_controller 或至少没有调用 beforeFilter() 函数app_controller。
此外,我编写了 beforeFilter() 以便当用户无法访问 crud 时,给他一个 $this->flash 消息,让他知道他是“未授权的”(我必须这样做,因为 $this->Auth->authError 似乎不起作用)。因此,考虑到这一点,我现在为用户组重写 aros_acos 表,如下所示:0 0 1 0(仅允许更新),这一次我在访问“查看”操作时收到 Flash 消息(这是正确的因为我没有访问它的权限),但是当我尝试访问“编辑”操作时,我也会收到 Flash 消息。
我错过了一些东西,我不知道是什么。我已经写了这个问题,希望在完成之前,我会自己想出解决方案......但没有运气。我仍然不知道发生了什么,我想这是一些控制器的事情......你有什么想法吗?
c# - C# - Windows ACL - 应用继承的权限
我一直在以编程方式为文件夹/注册表项分配权限时遇到问题。我已设法使用以下代码分配继承权限:
这正确设置了我以管理员身份创建的所有子文件夹的文件权限。但是,它不会设置dir
文件夹本身的权限。我玩弄了一些继承和传播的排列,但没有任何乐趣。
例如,我有:
如果我在 test ( %programfiles%\Test\SubFolder
) 中创建了一个文件夹,我为我的用户分配了完全权限,但我没有完全权限%programfiles%\Test
。这真的很烦人,因为我想给我的用户完全的权限来对 Test 目录做任何事情。
我在注册表权限方面遇到了类似的问题,但我相信如果我能解决一个问题,我就能解决两个突出的问题。
有谁知道如何解决这个问题?
问候
特里斯
windows - 为什么我的服务创建的文件(有时)设置了只读属性?
注意:这是对这个问题的完整重写。我之前将一些 ACL 问题与我正在寻找的问题混为一谈,这可能就是没有答案的原因。
我有一个 Windows 服务,它使用标准的打开/关闭/写入例程来写入日志文件(它从管道中读取内容并将其填充到日志中)。每天午夜打开一个新的日志文件。该系统是 Windows XP Embedded。
该服务作为本地系统服务运行(用户为 NULL 的 CreateService)。
当服务最初启动时,它会创建一个日志文件并毫无问题地写入它。此时一切正常,您可以毫无问题地重新启动服务(或计算机)。
但是,在午夜(当一天发生变化时),该服务会创建一个新的日志文件并写入它。有趣的是,这个新的日志文件设置了“只读”标志。这是一个问题,因为如果服务(或计算机)重新启动,服务将无法再打开文件进行写入。
以下是系统中已经发生问题的相关信息:
这是我用来打开/创建日志文件的代码:
我很难弄清楚文件是如何获得只读标志的。谁能给我线索或方向,我将不胜感激。
编译器是 VC 6(是的,我知道,它已经过时了,这并不好笑。直到您意识到我们刚刚从 NT 3.51 升级到 XPE)。
c# - 无法在 CommonAppDataPath 目录上修改 C# 中的 ACL 权限
因此,我正在尝试将 BUILTIN\Users 组的权限修改为至少具有修改文件系统访问权限。不幸的是,我尝试使用以下代码会产生未更改的 ACL。
修改后的报告在每种情况下都是正确的,但是当您在文件夹属性中查看权限时,权限不会更新。
我还尝试为使用类似代码但只是 AddAccessRule 而不是修改的目录还没有 ACL 的 SecurityIdentifier 添加访问规则。即使新的 SecurityIdentifier 出现在目录的权限列表中,他们也没有我指定的访问权限。
我正在尝试修改管理员帐户拥有的 Environment.SpecialFolders.CommonApplicationData 中专有目录的访问权限。我也尝试以管理员身份修改 ACL。
有谁知道上面的代码有什么问题,或者有任何资源可以引导我使用本机 .NET 类设置 ACL 的正确方法?
c# - 复制 XCopy 等 ACL 信息
我们最近被迫迁移到世界另一端的新域服务器。这可能看起来没有太大变化,但我们经常运行的进程之一突然从 2 秒命令变为 5 分钟命令。
原因?我们正在基于“模板”目录结构更新许多目录的权限。
我们发现 XCOPY 可以在相同的两秒窗口中更新这些设置中的大部分。当然,剩下的设置就不用了。
我想弄清楚的是,XCopy 如何能更快地完成 .NET 安全类本机应该做的事情?显然我错过了一些东西。
在不 ping(或最少 ping)域/Active Directory 服务器的情况下复制目录的 ACL 信息的最佳方法是什么?
这是我所拥有的:
php - CakePHP 的用户管理、身份验证和 acl 插件?
我对 CakePHP 很陌生,使用 rails 已经有一段时间了。我的问题是,任何人都可以为 Cake 推荐一个好的用户管理、身份验证和 acl 插件或组件吗?
我遇到过这个,但它自 2008 年以来一直没有更新。如果没有,任何人都可以为这种设置推荐一本好书/教程网站吗?我很乐意自己坐下来写这种东西,但宁愿使用经过测试的社区插件。
干杯
django - Django 基于角色的视图?
我正在寻找一些关于其他人如何构建它的输入。我将提供基于类(django 组)的视图。
例如,用户组将确定他或她将有权访问哪些视图/模板。我正在考虑在表格中存储查看函数的路径以确定用户的链接栏将包含什么。还可以存储过滤器规范以确定哪些行将填充这些模板。
一个很好的例子是医院的护理单位。一个单位的护士不需要看整个医院的病人。他们只需要看他们的病人。同一单位的医生也只需要看这些病人,但他们应该可以使用更强大的功能。
这是通过一些第三方应用程序完成的吗?您将如何解决这个问题?
谢谢,皮特
ruby-on-rails - 结构和用户访问的建议
好的,所以我有 acl9 并运行,到目前为止我的应用程序结构:
地区(有) 地点(有销售)。销售并不重要,基本上只是将在每个位置显示的帖子。
我也有用户,与acl9集成可以根据角色进行限制和允许。
我需要做的是创建公司并让为给定公司创建的用户只允许访问该公司内的区域和位置。然后,我将需要每个公司都可以创建的用户,这些用户只能访问他们有权访问的位置。
我的问题是,我不确定如何动态地将创建的用户限制在某个部分。也就是说,管理员的界面。我可以想象一些方法,但正在寻找最好的方法。
language-agnostic - 访问控制列表
我一直在为即将到来的项目阅读(基于角色的)访问控制列表,并且在弄清楚它将如何为我工作时遇到了一些麻烦。
在我看到的示例中,他们总是谈论允许和拒绝访问控制器/模型的特定操作。例如:组“访客”可以read
发帖,“会员”可以read
和edit
,“管理员”可以create, read, update, delete
。
这些事情对我来说似乎有点太全球化了。在我自己的情况下(为这个例子调整它),会有大量的组,每个组只能edit
发布属于某个类别(或其他一些标准)的帖子。
我认为让它对我有用的唯一方法是为每个类别的帖子创建一个新的 ACO:
然后分别授予每个人的访问权限(对于需要访问所有权限的管理员来说,这可能是一个皇家 PITA)
ACL 模式如何涵盖这样的情况?有没有更好的方法?
我最终将在 PHP 中使用 Cake 实现这一点,因此欢迎使用 PHP 的示例,但不是必需的!