我正在使用 Cakephp 2.0 和 Auth 组件。我的网站由 2 个用户角色组成,如下所示
1. Admin
2. User
一次在浏览器中,管理员或用户都可以使用身份验证组件登录网站。无法处理两个用户角色可以在同一浏览器中同时登录网站。有什么办法可以做到 CAKEPHP。现在我的客户想在同一个浏览器中以管理员和用户身份登录。但是在 Joomla 等框架中就有这个功能。非常抱歉这个基本问题
我正在使用 Cakephp 2.0 和 Auth 组件。我的网站由 2 个用户角色组成,如下所示
1. Admin
2. User
一次在浏览器中,管理员或用户都可以使用身份验证组件登录网站。无法处理两个用户角色可以在同一浏览器中同时登录网站。有什么办法可以做到 CAKEPHP。现在我的客户想在同一个浏览器中以管理员和用户身份登录。但是在 Joomla 等框架中就有这个功能。非常抱歉这个基本问题
取决于您的角色是如何定义的以及您的管理部分是如何构建的。如果您使用正确的前缀路由 (/admin/:controller/:action/) 完成此操作,那么这很容易。
在您 AppController::isAuthorized() 中添加一个检查
if ($this->Auth->user('is_admin') == 1 && $this->request->params['prefix'] == 'admin') {
return true;
}
如果您有一组规则,请使用 in_array() 检查允许的角色。
有关更多详细信息,请阅读此链接。