1

我已经为我的管理面板完成了管理路由。现在的 url 是localhost/app/admin

现在我有 2 个表管理员和用户。

我为登录localhost/app/admin/admins/login创建了一个 url 。

该页面提示输入用户名和密码。

但问题是当使用 loginredirect 在 appcontroller 中创建组件时,它被重定向到localhost/app/admin/users/login。我不知道为什么。我什至尝试更改登录重定向路径,但没有任何效果。

这是我的 appcontroller.php :

public $components = array(
    'Session',
    'Auth' => array(
        'loginRedirect' => array('controller' => 'admins', 'action' => 'add'),
        'logoutRedirect' => array('controller' => 'pages', 'action' => 'display', 'home')
    )
);

public function beforeFilter() {
    $this->Auth->allow('index', 'view');
}

即使我删除了用户表,它也会重定向到用户登录。

4

1 回答 1

0

听起来您的 Auth 组件不起作用。不要将身份验证重定向添加到 components 变量中,而是将它们放在您的 beforeFilter() 中。你的 appController 应该是:

    public $components = array('Auth','Session');

    public function beforeFilter()
{
    $this->Auth->loginRedirect = array('action' => 'add', 'controller' => 'admins');
    $this->Auth->logoutRedirect = array('controller' => 'pages', 'action' => 'display', 'home');
    $this->Auth->authError = 'You are not allowed to see that.';

}

你登录成功了吗?如果是这样,请检查 routes.php 以确保您正确路由。这可以通过尝试手动导航到 example.com/admins/add 来测试。

于 2013-03-28T00:55:06.897 回答