CakePhP AuthComponentd的使用

来源:互联网 发布:python 字符串 split 编辑:程序博客网 时间:2024/06/05 16:34

当使用 AuthComponent 时,有一些规则需要遵循。默认情况下,AuthComponent 期望你有一个名为 ‘users’ 的数据表,并包含‘username’ 和 ‘password’ 字段


当创建数据表存储你的用户认证资料时,记着 AuthComponent 会将密码值散列 (hash) 后存储,而不是以纯文字类型存储,所以确保你的密码字段的长度足够存储散列的密码(比如 SHA1 算法有 40 个字符长度)

如果你想手动添加用户到数据库中,获得正确数据最简单的办法是尝试登陆并查看数据库 log 日志。

最基本的设定,你仅需要在你的控制器中创建两个动作:

class UsersController extends AppController {

    var $name = ‘Users’;   

    var $components= array(‘Auth’); // 如果在 appcontroller 中已经定义,在此不必重复

    /**

     *  AuthComponent 提供了登陆功能,

     *  所以你可以保留该函数为空.

     */

    functionlogin() {

    }

    functionlogout() {

       $this->redirect($this->Auth->logout());

    }

}

虽然你可保留 login() 函数为空,但你必需创建 login() 的视图模版(保存在 app/views/users/login.ctp)。这是 UsersController 需要创建的唯一视图模版。下面的例子假设你已经在使用Form helper:

<?php

   $session->flash(‘auth’);

    echo$form->create(‘User’, array(‘action’ => ‘login’));

    echo$form->input(‘username’);

    echo$form->input(‘password’);

    echo$form->end(‘Login’);

?>

这个视图 (view) 建立了一个简单的登陆表单,可以输入用户名 username 和密码 password。一旦你提交该表单,AuthComponent 会为你处理剩下的事情。$session->flash() 会显示从AuthComponent 返回的提示信息。
0 0
原创粉丝点击