- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我一直在研究 Cake 的 Auth/ACL 组件。我已经阅读了文档并完成了教程,但我仍然对我实际可以完成的事情不满意。我见过couple的other接近,但我不能说,因为我确实有一个直接的赢家。在我读过的任何教程/博客文章/文档中,“所有权”的用例都没有得到充分的涵盖。
我希望描述我的用例,如果有人可以建议一种方法,我洗耳恭听,否则我可能只能尝试自己做一些事情;o)
<小时/>这基本上模仿了一组简单的博士办公室。
对于 ARO 来说开始很容易:
组和用户之间存在“hasOne”关系(即一个用户只能属于一个组)。
现在我们使用树形结构的 ACO,如 Aidan Lister considers :
/root
/practice
/practice_profile
/practice_updates
/patients
/entries
/profiles
/other_things
每个护理人员都可以参与包括其患者在内的实践。这使得看护者可以访问患者写的任何内容。最重要的是,患者将只能能够看到/编辑/等等......他拥有的任何东西。我读过的任何文章中都没有具体涉及这一点。我知道对于文件系统类型的权限来说,这是很常见的,但我什至不想走这条路......
在 Cake 的核心中使用 Auth/ACL,它并没有真正获得这样的权限。它似乎在说“好吧,如果你是 X 组的一部分,那么你就可以执行 Y 功能。”因此,似乎属于 members
组的任何用户都可以访问所有其他成员的内容,并且所有管理员
都可以访问所有实践。
还有其他人遇到过这种用例吗?有进一步阅读的建议吗?有已知的解决方案吗?
编辑:所以所有的答案都很棒,所以大家都赞成。我强烈建议您查看由 bancer 提供的我没有找到的帖子,因为它最终向我指出了一些很酷的东西。但最终,答案都隐藏在文档中,我只是第一次没有完全“明白”。另外,当我读到 cakeqs 时,我顿时恍然大悟。关联。所以答案交给本杰明。
最佳答案
也许这会给你一些启发。这是我开发的 CMS 的 acos 表的摘录。通过使用其他明显未使用的 model
列,我获得了额外的控制层,可以让我设置页面的可访问性。
id parent_id model foreign_key alias lft rght
1462 1176 page NULL about-us 285 286 #display page url
1515 1176 page NULL leo-test 291 292 #display page url
1195 1176 NULL NULL ajaxSetStatus 261 262 #function
1194 1176 NULL NULL walkTree 259 260 #function
然后我在 Controller 中执行类似的操作,以查看当前用户是否有权查看请求的页面(如果未登录,用户默认为匿名):
function view($url=null)
{
$nD = $this->NodeDescriptor->findByUrl($url);
if(!$nD) $this->redirect(array('action'=>'error'));
$user = ($this->Auth->user())?$this->Auth->user():'Anonymous';
if(!$this->Acl->check($user,"{$url}"))
$this->redirect($this->referer());
...
关于cakephp - Cake的ACL组件及 "ownership"的概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3421197/
我想检查是否可以限制架构的所有权不被另一个角色继承。我有一个托管架构,它由角色A拥有(具有所有权特权)。角色B继承角色A,但我不希望角色B继承所有权特权。。这种设置在雪花中可能吗?也就是说,在这种情况
以下代码: public string add_button_tooltip_markup { get { return add_button.get_tooltip_markup (); }
我一直在研究 Cake 的 Auth/ACL 组件。我已经阅读了文档并完成了教程,但我仍然对我实际可以完成的事情不满意。我见过couple的other接近,但我不能说,因为我确实有一个直接的赢家。在我
对措辞表示歉意,我真的找不到其他方式来表达它。 我有一个像这样的历史表: id date from_id to_id 1 2010-01-01 A B 1
由于我的母语不是英语,所以我可能会遗漏一些东西,所以也许这里有人比我更了解。 取自WSASend MSDN 上的说明: lpBuffers [in] A pointer to an array of
我阅读了以下帖子 association owned by classifier and association owned by relationship in UML Setting the as
仍在寻找解决方案 (2/24/16) 我的用户模型与组之间存在 has_many :through 关系。所以用户有很多组,组有很多用户,但我也想由一个用户建立组的所有权,他可以做出最终的决定。 这个
我正在编写一个小的 Java 程序,它应该运行一个外部程序将图像复制到系统剪贴板(即 Windows 7“截图工具”),等待它完成,将图像从剪贴板保存到磁盘并将 URL(可以从中访问图像)复制到剪贴板
我在图形应用程序上工作,并且一直在使用共享指针和唯一指针,主要是因为它为我处理内存重新分配(又名方便),这可能很糟糕(如果这就是我使用它们的原因)。 我最近在 Stackoverflow 上阅读了一个
我对 Android 11 中的存储更改有疑问。如果我理解正确,应用程序可以读取/写入/删除它创建的文件。我也可以像这样访问这些文件: File path = new File(Environment
谁能帮我澄清一下QML Repeater docs意思是首先说 “Items instantiated by the Repeater are inserted, in order, as child
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我有一个方法将间接指针作为参数,如果有错误,则将其设置为错误对象。我正在尝试打开尽可能多的警告。但其中之一 - Implicit ownership types on out parameters -
我正在使用 Boost.Python 向 python 公开一个 C++ 树类。节点类持有子节点列表并提供方法 void add_child(Node *node) Node 类获取提供的 Node
基于 this Stroustrup 建议“函数中的指针不应表示所有权” 问题> 有人可以给我一些详细的解释吗?最好能举例说明。 谢谢 最佳答案 如果某个代码负责删除指针或将所有权转移给其他人,则该指
我正在尝试在 docker 容器中运行 postgresql,但当然我需要让我的数据库数据保持持久性,所以我尝试使用仅数据容器来公开卷以在此位置存储数据库。 所以,我的数据容器有这样的 Dockerf
我对string::assign方法的理解有些差距。考虑以下代码: char* c = new char[38]; strcpy(c, "All your base are belong to us!
我有一个基于 Ruby on Rails 的站点,我需要在其中运行 rake assets:precompile 以获得正确的预编译 Assets 。但是,每当我运行此命令时,我应用程序的 tmp 目
我已经设置了一个服务帐户来复制用户上传的文件。如何将所有权转移到不同的电子邮件地址? 我有: new_permission = {'value': 'me@example.com', 'type':
我一直在尝试包装 CPointer 类型的 native 对象,认为该对象控制底层 native 对象的生命周期。 在 C++ 术语中,我会做类似的事情: class T { private: U
我是一名优秀的程序员,十分优秀!