中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

怎么在yii2.0框架中利用beforeAction防非法登陸

發布時間:2021-03-23 16:51:32 來源:億速云 閱讀:115 作者:Leah 欄目:開發技術

本篇文章給大家分享的是有關怎么在yii2.0框架中利用beforeAction防非法登陸,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

beforeAction基本原理:

對比

1、執行順序

init > beforeAction

2、調用子函數時,兩個函數都不會再次執行

3、返回值

init返回false繼續執行,beforeAction停止執行

4、執行EXIT,全部停止

從框架的示例代碼來看,init用于初始化數據,beforeAction用戶事件的處理

代碼

// 登錄統一驗證
public function beforeAction( $action ){
//  驗證是否登錄
   $is_login = $this->checkLoginStatus();
    if (in_array($action->getUniqueId(), $this->allowAllAction ) ) {
      return true;
    }
// 是否已經登錄了 沒有登錄的話 判斷登錄方式
    if(!$is_login) {
//  如果是ajax方式進行請求
      if ( \Yii::$app->request->isAjax) {
        $this->renderJSON([], "未登錄,請返回用戶中心", -302);
      } else {
        $this->redirect( UrlService::buildWebUrl("/user/login") );
      }
      return false;
    }
}

其他的控制器使用的時候進行繼承一下就可以了!

class UserController extends BaseWebController

防非法登陸的方法:

首先寫一個公共控制器 讓其他所以需要防止非法登陸的頁面繼承一下這個公共控制器

<?php
namespace frontend\controllers;
use Yii;
use yii\web\Controller;
class PublicController extends Controller{
 public function beforeAction($action){
  $cookie = \Yii::$app->request->cookies;
  //取出存入的cookie值 括號里寫自己定義的cookie名字
  $user_cookie = $cookie->get('user_id');
  //判斷是否有cookie
  if(!isset($user_cookie)){
   echo "<script>alert('請先登錄');location.href='?r=login/login'</script>";
  }
  return parent::beforeAction($action);
 }
}

然后在任意一個控制器中加入一段代碼 不需要所有控制器都寫 只寫一個控制器里面就行

public function beforeAction($action)
{
  if(!parent::beforeAction($action))
  {
   return false;
  }
}

以上就是怎么在yii2.0框架中利用beforeAction防非法登陸,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

嘉峪关市| 读书| 屯门区| 习水县| 湘潭市| 丹阳市| 太谷县| 南阳市| 关岭| 富顺县| 锡林浩特市| 邮箱| 东乡县| 疏勒县| 苍南县| 镇雄县| 白水县| 丰县| 济阳县| 洞口县| 井冈山市| 赤壁市| 桂平市| 竹山县| 灵璧县| 甘泉县| 三河市| 长子县| 禄丰县| 漯河市| 崇文区| 台南市| 潜江市| 二手房| 昭觉县| 逊克县| 英山县| 紫阳县| 鹿泉市| 上杭县| 花垣县|