(CakePHP)是授权的相关问题。谁能看一下吗?

(CakePHP)是授权的相关问题。谁能看一下吗?,cakephp,Cakephp,我在数据库中有两个表,Admins和Users。管理员应该只打开有9个控制器的管理员面板。用户将看到前端,其中有一个控制器名称“HomeController” 当用户登录时,他可以访问仅用于管理员的控制器。当管理员登录时,他可以打开仅用于用户的控制器。我如何防止这种情况 AppController: class AppController extends Controller { public $components = array( 'Session', 'Auth' =&g

我在数据库中有两个表,Admins和Users。管理员应该只打开有9个控制器的管理员面板。用户将看到前端,其中有一个控制器名称“HomeController”

当用户登录时,他可以访问仅用于管理员的控制器。当管理员登录时,他可以打开仅用于用户的控制器。我如何防止这种情况

AppController:

class AppController extends Controller {

public $components = array(
    'Session',
    'Auth' => array(
        'authenticate' => array(
            'Admin' => array(
                'userModel' => 'Admin',
                'fields' => array(
                    'username' => 'username',
                    'password' => 'password'
                    )
            ),
            'User' => array(
                'userModel' => 'User',
                'fields' => array(
                    'username' => 'username',
                    'password' => 'password'
                    )
            )
        )
    )
);

public function beforeFilter()
{

}  

}
TransactionController:(由管理员访问)

HomeController:(由用户访问)


如果只有管理员和用户两个身份验证级别,则可以尝试:

URL是预定义的

http://mysite.com/admin/transactions
它将被路由到事务控制器,在那里,每个管理员和用户都有前缀索引方法

public function admin_index(){

}

public function user_index(){
    $this->redirect(array('controller' => 'home', 'action' => 'index'));
}
如果您有两个以上的用户组,请查看

http://mysite.com/admin/transactions
public function admin_index(){

}

public function user_index(){
    $this->redirect(array('controller' => 'home', 'action' => 'index'));
}