【问题标题】:Cakephp Auth component, Multiple User Role sessions in same browserCakephp Auth 组件,同一浏览器中的多个用户角色会话
【发布时间】:2012-10-22 20:29:03
【问题描述】:

我正在使用 Cakephp 2.0 和 Auth 组件。我的网站由以下 2 个用户角色组成

1. Admin
2. User

在浏览器中,管理员或用户都可以使用身份验证组件登录网站。无法处理两个用户角色可以在同一浏览器中同时登录网站。有什么办法可以做到 CAKEPHP。现在我的客户想在同一个浏览器中以管理员和用户身份登录。但是在 Joomla 等框架中就有这个功能。非常抱歉这个基本问题

【问题讨论】:

  • 好问题从来没有想过这种事情。似乎是可能的但需要解决 Auth Components 创建会话和检查会话。这将在使用 ACL 和 Auth 时增加更多复杂性。绝对值得一试。
  • 可以使用多个浏览器...将是最简单的;-)
  • 多浏览器常用@Vins

标签: cakephp cakephp-2.0 cakephp-2.1


【解决方案1】:

取决于您的角色是如何定义的以及您的管理部分是如何构建的。如果您使用正确的前缀路由 (/admin/:controller/:action/) 来完成它,那么这很容易。

在你的 AppController::isAuthorized() 中添加一个类似的检查

if ($this->Auth->user('is_admin') == 1 && $this->request->params['prefix'] == 'admin') {
return true;
}

如果您有一组规则,请使用 in_array() 检查允许的角色。

更多详情read this link

【讨论】:

    猜你喜欢
    • 2011-09-09
    • 1970-01-01
    • 2016-06-24
    • 2014-03-25
    • 1970-01-01
    • 2012-08-12
    • 2015-06-23
    • 2011-02-19
    • 2018-11-20
    相关资源
    最近更新 更多