我正在使用cakePHP构建应用程序。我们是否有一种方法可以让公共用户在不登录的情况下访问特定页面。关于整个组织或联系我们页面,我们会有几页介绍我们。有没有避免登录访问的方法,类似于我们如何添加组件或设置布局的方法。无需登录即可进行操作/页面
1
A
回答
1
正如Martin Bean所说,您可以使用ACL。对于一个复杂的网站,这将是我的选择。您不必登录即可访问公共页面。 http://multiheadweighers.co.uk是使用ACL的站点的示例。在公共页面背后有一个功能齐全的CMS。
对于一个简单的网站,我会允许访问,例如,视图操作使用
function beforeFilter() {
parent::beforeFilter;
$this->Auth->allow('view');
}
见:http://book.cakephp.org/view/1257/allow
这真的不是什么大不了的 - 尝试它,你会看看它是多么容易。
编辑:
从书@http://book.cakephp.org/view/1550/Setting-up-permissions
现在,我们要拿出引用 到Auth->检查allowedActions在用户 和组控制器。然后添加 以下到您的文章和widget 控制器:
function beforeFilter()
{
parent::beforeFilter();
$this->Auth->allowedActions = array('index', 'view');
}
删除“断开关”我们把前面的用户和组控制器,并提供了有关指标,并查看行动的公共访问在帖子和小部件控制器中。在AppController :: beforeFilter()中添加以下内容:
$this->Auth->allowedActions = array('display');
这会使“显示”操作公开。这将保持我们的PagesController :: display()公开。这很重要,因为默认路由通常将此操作作为您应用程序的主页。
编辑2:
$user = ($this->Auth->user())?$this->Auth->user():'Anonymous';
if(!$this->Acl->check($user,"{$url}"))
$this->redirect($this->referer()); // or whatever action you want to take.
1
的解决办法是使用方法允许在验证组件,让用户访问这些页面。
谢谢!
相关问题
- 1. 无需登录即可运行Publish-AzureRmVMDscConfiguration
- 2. android-无需登录即可获取Facebook粉丝页面图片
- 3. LinkedIn API - 无需登录即可进行简单查询
- 4. 无需登录即可获取Gmail rss
- 5. 限制用户无需使用javascript登录即可访问页面
- 6. 使用Facebook登录登录无法在结帐登录页面上工作,但在登录页面上工作
- 7. Yii:无登录页面处理登录
- 8. 登录页面无法正常工作
- 9. sitecore制作登录页面
- 10. 登录页面渲染值,即使用户未登录
- 11. 无需强制用户登录即可访问图表数据
- 12. Laravel - 无需登录即可验证用户身份
- 13. C# - 无需登录服务器即可发送电子邮件
- 14. 无法进入主页,总是回到登录页面
- 15. Joomla,注册页面需要登录
- 16. MVC页面,需要用户登录
- 17. Facebook登录需要帮助页面
- 18. 无法在Atom编辑器中进行页面调页和换页操作OSX
- 19. 受登录保护的页面不需要登录访问
- 20. 没有登录到所需的页面登录
- 21. 登录页面不显示进度条
- 22. 让backbone.js重新路由到登录页面并触发操作
- 23. 访问NeededLogin操作后未重定向到登录页面
- 24. JQTouch - 无需将页面添加到历史记录即可向前导航
- 25. Spring-WS无需操作即可生成WSDL
- 26. Python无需第三方库即可操作和保存XML
- 27. 无法显示来自Portlet操作类的默认登录页面
- 28. 在facebook上分享味精,无需登录页面?
- 29. 需要一个无ons-splitter的登录页面
- 30. Facebook自动登录需要在Rails 3上进行双页面加载3
您可以利用ACT的+ AUTH – 2010-10-30 12:00:24