Auth認證

  • 登陸

    //須要使用兩個類
    //use Illuminate\Support\Facades\Auth;
    //use Illuminate\Support\Facades\Redirect;
    //登陸行爲
        public function login()
        {
            //驗證
            $this->validate(request(),[
                'email'=>'required|email',
                'password'=>'required|min:5|max:10',
                'is_remember'=>'integer'//判斷是不是int類型
            ]);
            $user = request(['email','password']);
            $is_remember = boolval(request('is_remember'));
            if (Auth::attempt($user,$is_remember)){
            //經過Auth判斷是否定證經過,是否須要記住該用戶
                return redirect('article/index');
            }else{
                //登陸失敗,返回上一個頁面也就是登陸表單頁面,並提示錯誤信息
                return Redirect::back()->witherrors("郵箱或密碼錯誤");
            }
        }
    //獲取用戶ID
    $userid = Auth::id();//獲取的是一個數組
    //獲取用戶名稱
    \Auth::user()->name 其中user是指model
  • 登出

    

//登出
    public function logout()
    {
        Auth::logout();//執行登出操做
        return redirect('login');//重定向到登陸頁面
    }
  • 如何進行Auth認證?

  ①進入config/auth.php頁面php

  ②分析頁面內容laravel

  ③注意:laravel中若是模型時user,那麼默認表名就是users,默認+s,固然也能夠經過protected $table = ''表名來修改web

<?php

return [

    'defaults' => [
        'guard' => 'web',//默認的首位是web
        'passwords' => 'users',
    ],

    'guards' => [
        'web' => [
            'driver' => 'session',//web默認的驅動是使用session來存儲用戶信息
            'provider' => 'users',//提供者是users
        ],

        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],
    ],

    'providers' => [
        'users' => [
            'driver' => 'eloquent',//使用的是模型
            'model' => App\User::class,
/*若是咱們的用戶表的model,而且咱們用戶標的model要繼承該類
例如  use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable*/
        ],

         /*'users' => [
             'driver' => 'database',
             'table' => 'users',//這就是咱們的用戶表名,這一種和上一種使用一個就行
         ],*/
    ],

    'passwords' => [
        'users' => [
            'provider' => 'users',
            'table' => 'password_resets',
            'expire' => 60,
        ],
    ],

];
相關文章
相關標籤/搜索