zend-framwork 框架下的数据库认证(用户登录认证)

今天在zf框架下实现了一个用户登录认证的功能,利用了zend_auth组件类来实现。主要是用于数据库认证(本例子用于mysql认证)

主要思路就是:1.利用zend_auth_adapter_dbtable来创建适配器对象

   2.通过1中的对象来设置认证表名(即数据库名),设置标记列(数据库表中的某一列如用户名列username),设置凭记列(同样是数据库中的某一列名,如密码列:passwd);

  3. 设置要进行验证的标记列的值(通常是读取用户输入的用户名数据)

  4. 设置要进行验证的凭记列的值(通常是读取用户输入的密码数据)

  5.调用适配器对象的authenticate()方法进行认证并且返回一个zend_auth_result对象

                           6.调用5中返回的zend_auth_result对象的isValid()方法,判断是否认证成功;


具体代码如下:

前提条件:我的mysql  library数据库中的users表里存放了登录需要的数据

先创建数据库适配器:

$params = array('host'=>'127.0.0.1','username'=>'root','password'=>'root','dbname'='library');

$zend_db::factory('PDO_Mysql',$params);

$authadapter = new Zend_Auth_Adapter_DbTable($db);

$authAdapter->setTableName('users');
    $authAdapter->setIdentityColumn('username');
    $authAdapter->setCredentialColumn('passwd');
    $authAdapter->setIdentity($form->getValue('username'));
    $authAdapter->setCredential($form->getValue('passwd'));
    $result = $authAdapter->authenticate();
    $temp = $result->isValid();

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值