Cakephp用户管理插件实现

时间:2011-09-14 11:27:18

标签: cakephp

我从链接下载了这个插件 https://github.com/CakeDC/users

按照页面中给出的步骤操作。我创建了表'用户'和'详细信息'。我还注册了用户并验证了用户,但在访问链接www.mydomain / users / users / login时,此页面被重定向到www.mydomain / users / login 显示缺少控制器。我是新蛋糕,对我来说很难调试。如果有人帮助我,我将感谢你。


感谢您的回复。

是的,我已经添加了“cake \ libs \ controller \ app_controller.php”文件中给出的代码。为了测试这个,我刚刚下载了核心文件并在我的本地系统中设置了文件。我已经将插件'utils','search'和'users'放到我的app / plugins文件夹中并创建了表。

现在我也可以注册用户但无法看到登录页面。即。 “当访问链接www.mydomain / users / users / login时,此页面将被重定向到www.mydomain / users / login,显示缺少控制器”。

如果我遗失任何错误或错误,请告诉我。

谢谢。

1 个答案:

答案 0 :(得分:3)

这看起来像登录重定向中的一个问题。

您是否已将beforeFilter()配置添加到app_controller?

如果没有,您可能需要添加它。

以下是app_controller应如何显示的示例:

<?php
    class AppController extends Controller {
        var $components = array('RequestHandler', 'Session', 'Auth');

        function beforeFilter(){
            $this->Auth->fields = array('username' => 'email', 'password' => 'passwd');
            $this->Auth->loginAction = array('plugin' => 'users', 'controller' => 'users', 'action' => 'login', 'admin' => false);
            $this->Auth->loginRedirect = '/';
            $this->Auth->logoutRedirect = '/';
            $this->Auth->authError = __('Sorry, but you need to login to access this location.', true);
            $this->Auth->loginError = __('Invalid e-mail / password combination.  Please try again', true);
            $this->Auth->autoRedirect = false;
            $this->Auth->userModel = 'Users.User';
            $this->Auth->userScope = array('User.active' => 1);
        }
    }

?>

请记住,$ this-&gt; Auth-&gt; loginAction MOST包含'plugin'=&gt;'用户',没有它,它将转到www.mydomain / users / login而不是www.mydomain / users /用户/登录