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("邮箱或密码错误");
            }
        }
  • 如何进行Auth认证?

  ①进入config/auth.php页面

  ②分析页面内容

  ③注意:laravel中如果模型时user,那么默认表名就是users,默认+s,当然也可以通过protected $table = ''表名来修改

<?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,
        ],
    ],

];
上一篇:SpringSecurity(七): Remember-Me 记住我功能


下一篇:JavaWeb_jQuery