成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識庫 > YII2框架中自定義用戶認證模型,完成登陸和注冊操作示例

YII2框架中自定義用戶認證模型,完成登陸和注冊操作示例

熱門標簽:重慶外呼電銷系統多少錢 咸陽電銷 嘟嘟云外呼系統 南寧電話外呼系統線路 辦理400電話哪家好點 邢臺400電話辦理 南京3D地圖標注 濟源百應電銷機器人聯系方式 正規(guī)電銷機器人系統

本文實例講述了YII2框架中自定義用戶認證模型,完成登陸和注冊操作。分享給大家供大家參考,具體如下:

有些時候我們需要自已定義用戶類,操作自已建的用戶表,來完成登陸和注冊功能。

用戶表結構如下,當然可以根據自已的需要添加或刪除:

CREATE TABLE `tb_user` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用戶ID',
 `name` varchar(32) DEFAULT '' COMMENT '用戶名',
 `pwd` varchar(64) DEFAULT '' COMMENT '密碼',
 `head_img` varchar(256) DEFAULT '' COMMENT '圖像',
 `sex` tinyint(1) DEFAULT '0' COMMENT '性別(0:男,1:女)',
 `age` tinyint(3) DEFAULT '0' COMMENT '年齡',
 `auth_key` varchar(32) DEFAULT '' COMMENT '認證密鑰',
 PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='用戶表';

然后我們在models下創(chuàng)建MyUser.php,代碼如下:

?php

namespace app\models;

use YII;
use yii\db\ActiveRecord;
use yii\web\IdentityInterface;

//我們自定義自已的用戶操作模型,需要實現IdentityInterface接口中的全部方法
//我們自定義的模型主要實現的是認證邏輯,而yii\web\User是負責管理用戶認證狀態(tài)的,兩者是有區(qū)別的。
class MyUser extends ActiveRecord implements IdentityInterface
{
  //指定操作的表名
  public static function tableName()
  {
    return '{{%user}}';
  }

  //通過ID,返回用戶實例
  public static function findIdentity($id)
  {
    return static::findOne($id);
  }

  //通過令牌,返回用戶實例,一般用于無狀態(tài)的restful應用
  //如果你的應用不需要用到,直接留空就行
  public static function findIdentityByAccessToken($token, $type = null)
  {
    return static::findOne(['access_token' => $token]);
  }

  //通過用戶名,返回用戶實例
  public static function findByUsername($name)
  {
    return static::findOne(['name' => $name]);
  }

  //獲取用戶ID
  public function getId()
  {
    return $this->id;
  }

  //獲取用戶認證密鑰
  public function getAuthKey()
  {
    return $this->auth_key;
  }

  //生成cookie中的authkey
  public function generateAuthKey()
  {
    $this->auth_key = Yii::$app->security->generateRandomString(32);
    $this->save(false);
  }

  //驗證用戶認證密鑰
  public function validateAuthKey($authKey)
  {
    return $this->getAuthKey() === $authKey;
  }

  //驗證密碼是否正確,當然我們也可以自已定義加密解密方式
  public function validatePassword($password)
  {
    return Yii::$app->security->validatePassword($password, $this->pwd);
  }
}

創(chuàng)建完我們自已的用戶模型類后,我們需要在配置文件中修改成我們自已的,在config\web.php

'components' => [
	// ...
	'user' => [
		'identityClass' => 'app\models\MyUser',
		'enableAutoLogin' => true,
	],
];

然后我們創(chuàng)建一個登陸頁面

?php
use yii\helpers\Url;
?>
!doctype html>
html lang="zh-CN">
head>
  meta charset="UTF-8">
  title>表單提交/title>
/head>
body>
form action="?php echo Url::toRoute('index/login'); ?>" method="post">
  姓名:input type="text" name="name">br>
  密碼:input type="password" name="pwd">br>
  input type="submit" value="登陸">
  input name="_csrf" type="hidden" value="?php echo \Yii::$app->request->csrfToken; ?>">
/form>
/body>
/html>

然后是處理用戶登陸的,表單模型,在models下創(chuàng)建MyUserLogin.php

?php

namespace app\models;

use Yii;
use yii\base\Model;

class MyUserLogin extends Model
{
  //注意這里要聲明表單中提交過來的變量
  public $name;
  public $pwd;

  //設置驗證
  public function rules()
  {
    return [
      [['name', 'pwd'], 'required'],
      ['pwd', 'validatePassword'],
    ];
  }

  //驗證密碼
  public function validatePassword($attribute, $params)
  {
    if (!$this->hasErrors()) {
      $user = $this->getUser();

      if (!$user || !$user->validatePassword($this->pwd)) {
        $this->addError($attribute, '密碼錯誤');
      }
    }
  }

  //登陸處理
  public function login()
  {
    if ($this->validate()) {
      $user = $this->getUser();
      //監(jiān)聽事件,登陸前,重新生成authkey
      YII::$app->user->on(\yii\web\User::EVENT_BEFORE_LOGIN, [$user, 'generateAuthKey']);

      return Yii::$app->user->login($user, 3600 * 24);
    }
    return false;
  }

  //獲取用戶
  public function getUser()
  {
    return MyUser::findByUsername($this->name);
  }
}

最后就是我們的控制器代碼

?php

namespace app\controllers;

use YII;
use yii\web\Controller;
use app\models\MyUserLogin;

class IndexController extends Controller
{
  public function actionIndex()
  {
    //當前用戶的ID
    var_dump(YII::$app->user->id);
    //當前用戶是否是游客
    var_dump(YII::$app->user->isGuest);
  }

  public function actionLogin()
  {
    if (YII::$app->request->isPost) {

      $model = new MyUserLogin();
      $model->load(YII::$app->request->post(), '');

      if ($model->login()) {
        echo '登陸成功';
      } else {
        echo '登陸失敗';
      }

    } else {
      return $this->renderPartial('login');
    }
  }
}

演示如下:

更多關于Yii相關內容感興趣的讀者可查看本站專題:《Yii框架入門及常用技巧總結》、《php優(yōu)秀開發(fā)框架總結》、《smarty模板入門基礎教程》、《php面向對象程序設計入門教程》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家基于Yii框架的PHP程序設計有所幫助。

您可能感興趣的文章:
  • Yii2.0框架模型添加/修改/刪除數據操作示例
  • Yii2.0框架模型多表關聯查詢示例
  • Yii中Model(模型)的創(chuàng)建及使用方法
  • yii框架表單模型使用及以數組形式提交表單數據示例
  • PHP YII框架開發(fā)小技巧之模型(models)中rules自定義驗證規(guī)則
  • PHP的Yii框架中Model模型的學習教程
  • Yii框架數據模型的驗證規(guī)則rules()被執(zhí)行的方法
  • YII動態(tài)模型(動態(tài)表名)支持分析
  • Yii框架表單模型和驗證用法
  • Yii模型操作之criteria查找數據庫的方法
  • Yii數據模型中rules類驗證器用法分析
  • yii2.0框架多模型操作示例【添加/修改/刪除】

標簽:通遼 河南 南通 唐山 黃山 武漢 平頂山 隴南

巨人網絡通訊聲明:本文標題《YII2框架中自定義用戶認證模型,完成登陸和注冊操作示例》,本文關鍵詞  YII2,框架,中,自定義,用戶,;如發(fā)現本文內容存在版權問題,煩請?zhí)峁┫嚓P信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《YII2框架中自定義用戶認證模型,完成登陸和注冊操作示例》相關的同類信息!
  • 本頁收集關于YII2框架中自定義用戶認證模型,完成登陸和注冊操作示例的相關信息資訊供網民參考!
  • 推薦文章
    国产精品入口麻豆原神| 国产熟女一区二区三区四区| 极品美女一区| 3d蒂法精品啪啪一区二区免费| 亚洲激情六月丁香| 4438全国亚洲精品观看视频| 51视频国产精品一区二区| 天天摸天天干天天操| 成人免费视频77777| 国产精品第六页| 91伊人久久大香线蕉| 在线观看日本网站| 国产精品成人国产乱| 理论片午午伦夜理片在线播放| 69成人在线| 亚洲精品视频一区二区| aaa大片免费观看| 日韩视频一二区| 四虎影院成人| 国产成人在线亚洲欧美| 91久久精品国产91久久性色tv| 午夜免费福利网站| 在线观看中文字幕码| 国产精品久久久久久久久久| 91动漫在线| 成人影院午夜久久影院| 91视频xxxx| 国产乱子精品一区二区在线观看| 免费国产h视频在线观看86| 麻豆国产va免费精品高清在线| 粉嫩蜜臀av国产精品网站| 亚洲久草视频| 丝袜美腿亚洲色图| 奇米色777欧美一区二区| 黄色亚洲精品| 在线观看国产精品91| 亚欧美无遮挡hd高清在线视频| 在线视频观看亚洲| 男人操女人免费软件| 粉嫩av一区二区| 18被视频免费观看视频| 精品免费日韩av| 少妇一级淫免费播放| 欧美最猛黑人xxxxwww| 在线播放av中文字幕| 一区二区免费看| 日韩精品综合一本久道在线视频| 亚洲蜜臀av乱码久久精品蜜桃| 黄色91视频| 日日夜夜精品视频免费观看| 国产调教一区二区三区| 噜噜噜91成人网| 国产午夜三级一区二区三| 一区二区三区国产免费| 欧美性狂猛xxxxxbbbbb| 蜜臀久久久久久久| 日本三级久久久| 午夜精品一区二区三区在线播放| 亚洲欧美色图视频| 成人网中文字幕| 亚洲精品福利在线| 亚洲精品动态| 国产欧美一区二区三区在线| av免费一区二区| 国产又大又粗又硬| 伊人情人综合网| 制服丝袜中文字幕一区| 国产乱码在线| 亚洲欧美一区二区三区四区| 精品无码人妻一区二区三区品| 免费在线一区二区三区| 亚洲黄色小视频| 免费视频观看成人| 亚洲国产精品人人做人人爽| 精品国产免费人成电影在线观...| 精品国产一级| 韩国三级成人在线| 欧美成人久久电影香蕉| 9i在线看片成人免费| 久久福利网址导航| 色狠狠一区二区| 国产精品第157页| 久久97久久97精品免视看秋霞| 亚洲第一黄色| 91极品尤物在线播放国产| 91麻豆免费视频网站| 国产精品18久久久久久久久| 日韩一级成人av| 亚洲国产精品久久久久| 黄色国产精品视频| 精品国产91久久久久久浪潮蜜月| 嫩草伊人久久精品少妇av杨幂| 黄色片视频在线免费观看| 日韩欧美亚洲一区| 亚洲日本中文字幕在线| 一二三四国产精品| 日本19禁啪啪吃奶大尺度| 在线视频cao| 国产美女精品人人做人人爽| 国产成人无码av在线播放dvd| 无码视频在线观看| 日韩av第一页| 大尺度做爰床戏呻吟舒畅| 日本性生活一级片| 久久久久麻豆v国产| 亚洲欧美综合另类| 成人免费a**址| 亚洲人成77777| 欧美精品高清| 亚洲 小说区 图片区| 成人日韩视频| 国产精品久久久久国产a级| 成人国产电影在线观看| 宅男噜噜噜66一区二区| 色88888久久久久久影院野外| 国产成人在线观看网站| 涩涩视频网站在线观看| 国产精品污www在线观看| 国产精品国产三级国产专播品爱网| 久久国产精品网| 久久新电视剧免费观看| 亚洲国产123| 美女日韩在线中文字幕| 国产又黄又爽又无遮挡| 欧美一区二区三区在线视频| 国产欧美日韩精品丝袜高跟鞋| 国外av网站| 国产在线青青草| 91精品天堂福利在线观看| 中文文精品字幕一区二区| 亚洲精品日产aⅴ| 俺来也官网欧美久久精品| 1024在线看片| 久草免费在线| 偷拍盗摄高潮叫床对白清晰| 亚洲+变态+欧美+另类+精品| 伊人久久综合一区二区| 国产xxxxx| 国产精品久久久久久69| 中文字幕第八页| 亚洲性生活视频在线观看| 波兰性xxxxx极品hd| 伊人精彩视频| 久久aⅴ国产紧身牛仔裤| 先锋影音久久久| 99久久er热在这里只有精品66| 亚洲美女黄色片| 国产乱子伦精品无码码专区| 久久精品在这里| 欧美成人一区二区三区在线观看| 久久亚洲国产精品一区二区| 欧美国产一区二区三区激情无套| 在线看国产视频| 麻豆成人久久精品二区三区小说| 欧美日韩一级片网站| 日韩网站免费观看高清| 日韩最新在线| 欧美成人r级一区二区三区| 日韩高清有码在线| 中文字幕专区| 日韩欧美国产午夜精品| 色喇叭免费久久综合网| 精品在线观看一区二区| 丁香花在线观看完整版电影| 欧美日韩综合精品| 色播亚洲婷婷| 日产国产欧美视频一区精品| 黑人巨大猛交丰满少妇| 天天操天天艹| 男人艹女人在线观看| 一级黄色录像免费看| 亚洲三级在线观看视频| 精品一区二区在线免费观看| 亚洲特黄一级片| 欧美风情在线观看| 这里只有精品在线观看视频| 欧美系列精品| www操com| 97精品视频在线看| 欧美精品激情blacked18| 日本aⅴ亚洲精品中文乱码| 精品三级av在线导航| 91视频青青草| 国产精品久久久国产盗摄| 欧美精品videosex牲欧美| 波多野结衣一二三区| 娇妻被老王脔到高潮失禁视频| 午夜精品久久久久久不卡8050| 亚洲图片欧洲图片av| 国产福利一区二区精品秒拍| 色婷婷久久一区二区| 久久久久国产精品免费| 欧美人与动性xxxxbbbb| 丁香婷婷综合色啪| 成人久久精品| 中文字幕福利片| 国产日韩精品推荐| 天堂√最新版中文在线| 亚洲精品国偷拍自产在线观看蜜桃| 美女伦理水蜜桃4| 中文字幕人成高清视频| 九色成人免费视频| 五月婷婷在线观看视频| 日本japanese极品少妇| 美女做暖暖视频免费在线观看全部网址91| 看电影就来5566av视频在线播放| 亚洲人成电影网| 欧洲精品在线播放| 亚洲传媒在线| 日本在线观看免费视频| 久久久99精品久久| 国产麻豆一精品一av一免费| 欧美一区二区三区在线观看视频| 丝袜+亚洲+另类+欧美+变态| 色综合电影网| 国产黄色精品视频| 日韩在线观看免费| 一区二区三区美女xx视频| 欧洲精品视频在线| 99热精品一区二区| 日韩在线影视| 妞干网在线视频观看| 国产精品免费电影| 九九热这里有精品| 国产一区二三区| 欧美啪啪网站| 肉色超薄丝袜脚交| 精品久久国产精品| 亚洲人成网站777色婷婷| 亚洲国产精品日韩专区av有中文| 欧美婷婷六月丁香综合色| 69视频在线免费观看| 亚洲精品国产综合久久| 国产精品极品美女在线观看免费| 少妇精品无码一区二区免费视频| 欧美日韩二三区| 天天操天天插| 香港三级日本三级| 精品久久久久久久久久久久久| 668精品在线视频| 国产精品xxx视频| 国产精品三上| 国产精品天美传媒| 久久国产精品精品国产色婷婷| 欧美第一页浮力影院| 国产欧美自拍视频| 国产精品91一区二区| 日韩在线观看视频一区| 欧美色老头old∨ideo| 日本高清无吗v一区| 成人在线视频网| 欧美丝袜丝交足nylons图片| 电影亚洲一区| 一本色道久久综合亚洲精品不| 91亚洲永久免费精品| 欧美日产一区二区三区在线观看| 亚欧黄色av| 国产喷水在线观看| av免费在线免费观看| 日本一区二区高清| 26uuu国产精品视频| 日韩电影在线一区二区三区| 粉嫩一区二区三区| 成人在线观看黄色| 性猛交富婆╳xxx乱大交一| 亚洲精品一区二三区不卡| 99精品99| 亚洲免费高清| 波多野结衣 作品| 日韩aⅴ视频一区二区三区| 欧美在线首页| 老牛影视免费一区二区| 久久久免费视频网站| 久久久久久久电影| 久久99国产综合精品女同| 欧美精品观看| 51蜜桃传媒精品一区二区| 精品一区二区三区的国产在线播放| 欧美日韩在线视频一区二区| 亚洲一区二区综合| 国产高清中文字幕| 欧美成人亚洲成人日韩成人| eeuss影院在线播放| 国产99久久精品一区二区300| 日韩国产在线不卡视频| 国产日产精品一区二区三区四区| 91精品蜜臀在线一区尤物| 偷偷色噜狠狠狠狠的777米奇| 国产高清视频免费最新在线| 美女被啪啪一区二区| 国内精品视频一区二区三区八戒| 色撸撸在线视频| 亚洲国产精品热久久| 色777狠狠综合秋免鲁丝| 中文一区一区三区免费在线观看| 男女18免费网站视频| 欧美成人精品在线播放| 亚洲视频在线免费观看| 久操成人在线视频| jizzjizzwww| 四虎4545www精品视频| 丁香六月综合激情| 精品中文字幕在线播放| 美女视频免费一区| 最新在线黄色网址| 麻豆免费网站| 久久精品论坛| 欧美猛男超大videosgay| 亚洲卡一卡二卡三| 欧美激情视频一区二区三区| 亚洲第一综合网站| 日本在线视频一区| 99re这里只有精品视频首页| 欧美激情a∨在线视频播放| 国产精品国产亚洲精品| av片在线观看永久免费| 在线黄色免费观看| 欧美黄色录像| 国内拍拍自拍视频在线观看| 在线免费黄色毛片| 亚洲三区在线观看无套内射| 国产精品白丝jk黑袜喷水| 成年片费网站色大全免费视频| 欧美午夜精品一区二区蜜桃| 日韩精选视频| 亚洲国产日韩美| 中文久久乱码一区二区| 国产人妻精品午夜福利免费|