CakePHP登录系统

CakePHP log in system

本文关键字:系统 登录 CakePHP      更新时间:2023-09-26

我正在编辑一个有人用CakePHP制作的网站,但我以前没有Cake的任何经验。我正在阅读手册,但发现很难理解,所以我想在这里发布一个问题,看看是否能快速得到答案。

我认为这段代码是用来显示登录框的,您只能使用用户名测试和密码123123登录

var $components = array("Auth", "Acl");
function beforeFilter(){
    $this->Security->loginOptions = array(
    'type' => 'basic',
    'realm' => 'Authenticate Emergency Response Center'
);
$this->Security->loginCredentials = array(
    'test' => '123123'
);
$this->Security->requireLogin();
    $this->_bindToSite();
    parent::beforeFilter(); 
}

我希望登录框仍然显示,但我希望用数据库中的信息自动填充loginCredentials数组。我有一个名为"operators"的表,其中包含字段"user_id"answers"password"。

有人能告诉我如何修改上面的代码,以允许存储在操作员表中的任何用户名/密码登录吗?

感谢您的帮助

从数据库构建一个数组,并将$this->Security->loginCredentials设置为等于您的数组。

您可以将大部分艰苦工作留给CakePHP的Auth组件,但如果您想使用默认的"User"以外的模型,则只需要在beforeFilter()中设置即可。执行此操作的最佳位置可能是app'目录中的app_controller.php

function beforeFilter(){
    $this->Auth->userModel = 'Operator';
    $this->Auth->fields = array(
        'username' => 'user_id', 
        'password' => 'password'
    );
);