首页 > 代码库 > AUTH 用户管理操作
AUTH 用户管理操作
AUTH的实现是用抽象类来实现的,一个类,对应多种不同的验证方式。
先来介绍一个抽象类,很有借鉴意义:
实现一个猴子类,狗类,以及后面可其他类。 通常可以用抽象类和接口实现:
但是我们不直接定义具体的类,我们把所有猴子类,狗类的特征放在不同的config里面,同过抽象类方法来 初始话一个对象。
config.php
1 <?php2 return array(3 ‘driver‘=>‘monkey‘,//调用那个类。4 ‘index‘=>‘Ani‘,//其他。5 );
animal.php
1 <?php 2 abstract class Animal{ 3 protected static $_instance; 4 5 public static function instance($config){ 6 7 $driver=$config[‘driver‘]; 8 $ind=$config[‘index‘]; 9 require "animal/$driver.php";10 11 $class=$ind."_".$driver;12 self::$_instance=new $class($config);13 return self::$_instance;14 }15 16 }17 18 $config=require ‘animal/config/config.php‘;19 $dog=Animal::instance($config);20 echo $dog->getname();
dog.php
1 <?php2 // require ‘../animal.php‘;3 class Ani_dog extends Animal{4 5 function getname(){6 return "dog";7 }8 9 }
monkey.php
1 <?php2 // require ‘../animal.php‘;3 class Ani_monkey extends Animal{4 5 function getname(){6 return "monkey";7 }8 9 }
Auth也是通过这样的方式来调整认证方式,他有一个自定义 driver为 File的类。
用着个模块第一步,配置好正确的config。
调用抽象类的来初始化一个对象;
进行认证。
如:
1 $auth = Auth::instance();2 if ($auth->login(‘admin‘, ‘good_pass‘, true)) {3 echo ‘hello, ‘ . $auth->get_user();4 } else {5 echo ‘login failed!‘;6 }7 $auth->logout();
AUTH实现的有:
密码加密:
利用hash_hmac函数进行hash加密存储。
session记录登录,可定义自动保留时长。到时间未操作自动推出。
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。