婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫(kù) > laravel實(shí)現(xiàn)登錄時(shí)監(jiān)聽事件,添加登錄用戶的記錄方法

laravel實(shí)現(xiàn)登錄時(shí)監(jiān)聽事件,添加登錄用戶的記錄方法

熱門標(biāo)簽:銅川電話機(jī)器人價(jià)格 江蘇電商外呼系統(tǒng)運(yùn)營(yíng)商 智能電話機(jī)器人好公司門薩維 聊城電話外呼系統(tǒng)公司 沛縣400電話辦理 青白江地圖標(biāo)注 辦理重慶400電話 德陽中江如何申請(qǐng)400開頭電話 AI電話機(jī)器人OEM貼牌

一、執(zhí)行,php artisan make:event AdminLoginEvent 命令,Laravel目錄\app\Events會(huì)生成AdminLoginEvent.php文件,

二、我們先在\app\Providers目錄下找到EventServiceProvider.php文件,該文件內(nèi)有一個(gè)Events-Listeners數(shù)組來保存事件和監(jiān)聽者的映射關(guān)系:

protected $listen = [
  'App\Events\AdminLoginEvent' => [
    'App\Listeners\AdminLogListener',
  ],
];

三、執(zhí)行,php artisan event:generate 命令,Laravel\app\Listeners目錄下會(huì)生成AdminLogListener.php文件在文件里寫一些業(yè)務(wù):

?php

namespace App\Listeners;

use App\Business\AdminLogBiz;
use Illuminate\Contracts\Queue\ShouldQueue;
use Common;

class AdminLogListener implements ShouldQueue
{
  private $adminLogBiz;

  /**
   * Create the event listener.
   * UserLogListener constructor.
   * @param AdminLogBiz $adminLogBiz
   */
  public function __construct(AdminLogBiz $adminLogBiz)
  {
    $this->adminLogBiz = $adminLogBiz;
  }

  /**
   * Handle the event.
   *
   * @param object $event
   * @return void
   */
  public function handle($event)
  {
    $admin = $event->admin;
    $data = [];
    $data['admin_id'] = $admin->id;
    $data['admin_username'] = $admin->truename;
    $data['remote_ip'] = Common::getClientIP();
    $data['location'] = isset($ipInfo['city']) ? $ipInfo['city'] : '';
    $userName = empty($admin->truename) ? $admin->mobile : $admin->truename;
    $data['log_code'] = 'login';
    $data['log_content'] = $userName . '用戶登陸';
    $this->adminLogBiz->add($data);
  }
}

四、觸發(fā)這個(gè)事件,在用戶登錄的地方:

use App\Events\AdminLoginEvent;
/**
 * 登錄
 *
 * @param Request $request
 * @return \Illuminate\Http\RedirectResponse|\Illuminate\Routing\Redirector
 */
public function signin(Request $request)
{
  $username = $request->username;
  $password = $request->password;
  if (Auth::guard('admin')->attempt(array('username' => $username, 'password' => $password))) {
    if (Auth::guard('admin')->user()->status) {
      $this->logout($request);
      return redirect('/admin/login')->with('error', '賬號(hào)已被鎖定');
    } else {
      event(new AdminLoginEvent(Auth::guard('admin')->user()));
      return redirect('admin/index');
    }
  } else {
    return redirect('admin/login')->with('error', '賬戶或密碼錯(cuò)誤');
  }
}

這樣就完成了整個(gè)用戶登錄的監(jiān)聽事件,當(dāng)用戶登錄的時(shí)候表就會(huì)添加用戶登錄的信息。

以上這篇laravel實(shí)現(xiàn)登錄時(shí)監(jiān)聽事件,添加登錄用戶的記錄方法就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

您可能感興趣的文章:
  • laravel 5.3 單用戶登錄簡(jiǎn)單實(shí)現(xiàn)方法
  • Laravel 自動(dòng)生成驗(yàn)證的實(shí)例講解:login / logout

標(biāo)簽:赤峰 濟(jì)寧 迪慶 鷹潭 南寧 烏魯木齊 山南 三亞

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《laravel實(shí)現(xiàn)登錄時(shí)監(jiān)聽事件,添加登錄用戶的記錄方法》,本文關(guān)鍵詞  laravel,實(shí)現(xiàn),登錄,時(shí),監(jiān)聽,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《laravel實(shí)現(xiàn)登錄時(shí)監(jiān)聽事件,添加登錄用戶的記錄方法》相關(guān)的同類信息!
  • 本頁收集關(guān)于laravel實(shí)現(xiàn)登錄時(shí)監(jiān)聽事件,添加登錄用戶的記錄方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 辉南县| 措美县| 长子县| 麟游县| 安阳县| 如东县| 松原市| 沙坪坝区| 泉州市| 新巴尔虎右旗| 凤冈县| 东乡族自治县| 鹿邑县| 江山市| 河北省| 远安县| 松潘县| 潍坊市| 德昌县| 奎屯市| 鄂托克前旗| 大石桥市| 昌邑市| 永靖县| 北海市| 苍南县| 灵宝市| 彩票| 仙游县| 珠海市| 石城县| 宿松县| 虹口区| 元阳县| 禹州市| 扬中市| 明溪县| 石泉县| 沐川县| 彝良县| 岱山县|