我想要基于组的限制,允许用户仅访问网络的指定部分。我是整个 ACL 的新手,我并没有完全从手册中得到它:/因此我想问一些问题。
但在任何问题之前,我的路线是这样的:
Router::connect('/', array('controller' => 'users', 'action' => 'login'));
Router::connect('/admin/:controller/:action/*', array('prefix' => 'admin', 'admin' => true));
Router::connect('/registered/:controller/:action/*', array('prefix' => 'registered', 'registered' => true));
1.) 如何限制 Administrator
以外的任何其他组的用户只能访问网站的 /registered/
部分
2.) 我如何防止任何人在全局范围内使用像 www.example.com/users/add
这样的默认地址(我只想要 www.example.com/admin/users/add
或 www.example.com/registered/users/add
地址类型)?这种地址不是在 routes.php
中设置的事件,但它们仍然有效。
任何答案表示赞赏
最佳答案
首先这个蛋糕是1.3还是1.2? 在 1.3 中使用前缀路由。您可以设置多个前缀,例如,现在我正在开发一个站点,需要通过 admin/controller/action 进行管理员控制,而且我将某些区域限制为仅注册用户。例如/users/controller/action。
这相对容易做到,第一步是在 core.php 中设置前缀:
Configure::write('Routing.prefixes', array('admin', 'registered'));
记录在这里: http://book.cakephp.org/view/950/Prefix-Routing
Auth 组件可以处理这里的所有其他事情,您可以使用 ACL 等等,但我没有深入研究它,因为它对于我目前正在创建的东西来说似乎过于复杂。
我发现有用的教程是 Andrew Perkins 在 youtube 上的 auth 组件教程,当时我正在学习如何执行此操作。 youtube.com/watch?v=FjXAnizmR94
有 3 个部分,他解释得很好。
祝你好运!
https://stackoverflow.com/questions/4656335/
相关文章:
sql - 使用 T-SQL 的 SQL Server 中的 Cast 和 Convert 函数有什
ruby-on-rails - 有没有一种方法可以自定义页面上的 will_paginate 输出?
internet-explorer - 是否可以检测用户何时切换标签?
asp-classic - 我应该总是使用 connection.close
design-patterns - 访问者模式和编译器代码生成,如何获取子属性?
jquery-ui - 如何设置jQueryUI Dialog for v1.8x的背景