问题标签 [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.
zend-framework - Zend_ACL 具有模块化结构?
我通过阅读http://framework.zend.com/manual/en/zend.controller.modular.html用 Zend 创建了一个 MVC 。
问题是我找不到使用模块化结构的 Zend_ACL 的方法。Zend_Acl 根本没有添加模块的方法。它只允许我添加控制器和动作。
如何将 Zend_Acl 与模块化结构一起使用?Zend 框架的当前版本甚至可能吗?
cakephp - 使用 CakePHP 为 ACL 接口 (gui) 定义模型关系
我已经在我的 cakePHP 应用程序上成功设置了 Auth 和 ACL。
怎么样,现在我想建立一个界面来管理 ACL、ARO 和 ACO
ARO 和 ACO 很容易使用树行为构建。ACL 怎么让我有点搞砸了……尤其是在定义模型关系时。
我已将我的 aco 和 aro 模型分别命名为 Myaco 和 Myaro,因为 Aco 和 Aro 已经被 AclComponent 占用。我的 ACL 模型是 Myacl。
Myaco 是一个“独立”对象,它与任何其他模型无关。Myaro“belongsTo”“客户”模型(这是我的“用户”模型)并定义如下:
现在我理解的 Myacl 模型是 $hasAndBelongsToMany -> Myaco 和 Myaro,因为它是一个连接其他两个模型的表;因此,我已经这样设置:
现在要为 ACL 构建主“界面”,我想“查找('all')”ACL 记录,并将链接(递归)到“客户”级别 - 这样我就可以显示组和表中的实际客户aro
;所以我将recursive
Myacl 模型的参数设置为“2”
虽然从调试窗格的 SQL 查询来看 - 关系根本不正确。我在如何设置关系方面完全错了吗?
以下是 find('all') 调用中的基本 SQL 查询:
从此代码(在 Myacl 控制器中):
查询是:
您可以从“客户”查询的数量和连接中看到 - 模型关系严重“偏离”了一些东西。
非常感谢任何建议或线索。谢谢,肯。
php - 带有前缀路由的 CakePHP 身份验证
我正在用 CakePHP 建立一个网站,我想有 3 个部分:
- 公共区域
- 用户区
- 管理区
我在 routes.php 中设置了前缀路由,看起来像
我想要它,因此如果尚未登录并且用户类型为“正常”并且用户类型为“正常”(附带问题:用户可以正常:P)并且任何带有 admin_ 前缀的操作也重定向但需要,则任何带有 user_ 前缀的操作都将重定向到登录屏幕管理员的用户类型。
我开始尝试使用 Auth 组件,但它似乎很不灵活,而 ACL 似乎过头了。任何人都可以就实现我想要的最佳方式提供一些建议吗?
spring - Spring Security 上的组和 acl
我想使用 Spring Security 来管理用户、组和权限。
我想使用 ACL 来保护我的域对象,但我找不到将组分配给 acl 的方法。
例如:我有用户和组。每个组可以有以下证券: - 管理论坛(可以是类似的角色ROLE_FORUM_MANAGER
) - 编辑特定论坛(特定论坛上的 acl)。
此外,组由具有角色的用户定义ROLE_PERMISSION_MANAGER
。但是该用户定义的所有组只能由该用户编辑和管理。因此,组附加到用户。确切地说,假设用户创建了一个 google 组:该用户只能为他创建的组管理权限组。所以他可以创建组来管理自己的google组的特定论坛。
我该怎么做?
我阅读了 spring 安全文档和以下教程(所以请不要将我发送到这些链接): http: //grzegorzborkowski.blogspot.com/2008/10/spring-security-acl-very-basic-tutorial.html http://blog.denksoft.com/?page_id=20
php - 我可以只使用会话还是需要 ACL?
我打算用 PHP/MySQL/Codeigniter 创建一个简单的项目管理系统。
将有一个超级管理员、一个管理员和大约 20 个用户。用户 A、B、C...
大约有50个项目。项目一、二、三……
用户 A 和 B 将能够访问项目 1 页面,用户 C、D 和 F 将能够访问项目 2 页面等。
我可以用会话来做吗?
还是我需要使用 ACL?
我应该如何构建数据库?
你能给我你的想法吗?
grails - Grails 中字段级别的 ACL
在我们的新软件项目中,我们有以下要求:一个网页应该显示一组数据。该数据应可由某些用户编辑(分配给角色,即经理),并且只能由其他用户查看。棘手的部分通过一个例子来描述:
一个用户页面由地址数据和帐户信息组成。地址数据由用户和管理员可编辑,所有用户均可查看,而账户信息只能由实际用户和管理员查看。
我已经阅读了很多关于 SpringSecurity 的信息。它提供了一个非常好的框架来授予对 url 和方法甚至域类的权限。但我需要的是字段级 ACL。至少,我目前是这么认为的。
所以,问题是:如何使用 Grails 解决这个问题?
非常感谢提前,
问候丹尼尔
php - 做 CakePHP Acl 教程。我似乎无法填充 aros_acos
我可以发誓我已经正确地完成了教程,但是我收到一条错误消息并且我的 aros_acos 表是空的。
我已经做了什么:
在此页面上: http: //book.cakephp.org/view/646/Creating-ACOs 我已经运行“cake acl create aco root controllers”,它返回“New Aco 'controllers' created。”。我还添加了“$this->Auth->actionPath = 'controllers/';” 到 AppsController 的 beforeFilter() 。我不理解另一段代码,因为它被错误地解释了应该去哪里——“使用 AclComponent”到底是什么意思?
我已经从这个页面运行了 build_acl():http://book.cakephp.org/view/647/An-Automated-tool-for-creating-ACOs它 已经用 46 个条目填充了我的“acos”表。
这是我认为问题所在的页面:http: //book.cakephp.org/view/648/Setting-up-permissions我将页面上找到的代码复制到了我的 apps_controller.php 并稍微修改了它以指向我正在使用的组的 ID:
函数 initDB() { $group =& $this->User->Group;
}
我还从我的用户和组控制器中获取了对 allowedActions 的所有引用,并将正确的代码添加到我的帖子、小部件和 AppController 页面中......
通过访问http://localhost/basic_cake2/groups/initDB在 AppController 中运行 initDB()时,我在屏幕顶部收到一条警告消息。它说:
DbAcl::allow() - 无效节点 [CORE/cake/libs/controller/components/acl.php,第 325 行]
语境:
$aro = stdClass stdClass::$id = 5 $aco = "controllers" $actions = "*" $value = 1 $perms = false $permKeys = array( "_create", "_read", "_update", "_delete " ) $保存 = 数组()
代码:
无效节点', true), E_USER_WARNING);
并且还显示:
DbAcl::allow() - CORE/cake/libs/controller/components/acl.php,第 325 行 AclComponent::allow() - CORE/cake/libs/controller/components/acl.php,第 101 行 AppController::initDB () - APP/app_controller.php,第 23 行 Object::dispatchMethod() - CORE/cake/libs/object.php,第 116 行 Dispatcher::_invoke() - CORE/cake/dispatcher.php,第 227 行 Dispatcher:: dispatch() - CORE/cake/dispatcher.php,第 194 行 [main] - APP/webroot/index.php,第 88 行
在检查 aros_acos 表时,我发现没有添加任何内容!
因此,身份验证在任何页面上都不起作用...... :( 有没有人有任何想法?我不知道如何调试这个,我在#cakephp 上问过,但他们对此很沉默,基本上只是告诉我重新-阅读文档。
编辑: 好的,所以我更加努力地阅读了教程,结果发现我一直在从错误的文件中运行该函数。我将它移到了用户控制器,并在 aros_acos 表中添加了 3 行。
但是,我仍然收到该错误消息,所以我认为仍然有问题!
错误消息的上下文似乎确实发生了变化,这很有趣。现在是这样写的:
$aro = 组
组::$name = "组"
组::$validate = 数组
组::$hasMany = 数组
组::$actsAs = 数组
组::$useDbConfig = "默认"
组::$useTable = "组"
组::$displayField = "名称"
组::$id = 6
组::$data = 数组
组::$table = "组"
组::$primaryKey = "id"
组::$_schema = 数组
组::$validationErrors = 数组
组::$tablePrefix = ""
组::$alias = "组"
组::$tableToModel = 数组
组::$logTransactions = false
组::$transactional = false
组::$cacheQueries = false
组::$belongsTo = 数组
组::$hasOne = 数组
组::$hasAndBelongsToMany = 数组
Group::$Behaviors = BehaviorCollection 对象
组::$whitelist = 数组
组::$cacheSources = true
组::$findQueryType = NULL
组::$recursive = 1
组::$order = NULL
组::$__exists = NULL
组::$__associationKeys = 数组
组::$__associations = 数组
组::$__backAssociation = 数组
组::$__insertID = NULL
组::$__numRows = NULL
组::$__affectedRows = NULL
组::$_findMethods = 数组
组::$_log = NULL
组::$User = 用户对象
Group::$Aro = Aro 对象
$aco = "控制器/帖子"
$actions = "*"
$价值 = 1
$perms = 假
$permKeys = 数组(
“_创造”,
“_读”,
“_更新”,
“_删除”
)
$保存 = 数组()
c# - 通过 ACL 保护注册表项以删除对非管理员的所有访问权限
我正在尝试使用必须在客户端计算机上访问的一些重要信息来锁定注册表项,我不希望非管理员可以访问此密钥。如果您是管理员,那么您已经能够造成比我存储在密钥中的更多的损害。
我目前想做的是:
如果我做对了,这将拒绝所有人访问,明确允许管理员组中的任何人访问,并阻止所有继承的权限应用于我的密钥?我宁愿在我搞砸密钥上的 ACL 之前找出它是否可以工作,这样我就无法删除它等等。我是否应该将密钥的所有者也设置为管理员组?
PS:非常重要的一点是,密钥甚至不能以非管理员身份读取,而不仅仅是更改。
cakephp - CakePHP ACL - 动态权限管理?
问候!
我对 cakePHP 很陌生,刚开始使用 ACL 功能。从外面看,它看起来还不错,但是当我开始使用它时……好吧,它不再那么好了:)
我正在开发一个带有管理后端的应用程序,我需要能够动态更改组权限。我折磨了谷歌很长一段时间,我找不到任何关于如何实现它的好例子。我发现了大量关于命令行工具的帖子,但我不想在我的应用程序中使用它。
有谁知道实现这个的方法或一个体面的教程/如何解决这个问题?
zend-framework - 如何在 ACL 中表示不同的应用程序域?
我正在开发一个 Web 应用程序,其中不同的用户组对资源具有不同的访问权限。到目前为止,我猜没有什么特别的,但有一个警告;该应用程序被划分为“域”,因此我们的每个客户组织都有自己的内容。在这里,我使用一个更简单的模型来说明我的问题。
每个域具有相同的资源类型,但每个资源实例仅连接到一个域。这是一个域的样子:
我提出了两种不同的方法来使用 Zend_Acl 实现这一点,第一种是简单地为不同的域使用不同的 ACL,为每个域复制上述内容。第二种是仅使用一个 ACL 并为每个域添加新角色:
第二种方法的优点是用户可以是一个域的管理员,同时是另一个域的编辑器(实际上可能会发生)。但它也有一个缺点,即角色不是静态的——我们每次添加或删除域时都需要生成。
这些方法中的任何一种都有用,还是有更好的方法来处理多个域?