laravel auth認證
阿新 • • 發佈:2020-07-20
0、修改配置,修改config下的auth.php
將‘model’ 修改為 對應的 user模型
'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => \App\Model\User::class, ],
1、模型類繼承auth的user
1.1引入並起別名
use Illuminate\Foundation\Auth\User as AuthUser;
1.2繼承AuthUser
class User extends AuthUser { //守衛 //拒絕新增的欄位 protected $guarded = []; }
2、應用
2.1登入(attempt的使用)
$post = $this->validate($request, [ 'username' => 'required', 'password' => 'required', ], [ 'username.required' => '賬號是必填的', 'password.required' => '密碼是必填的', ]);//如果登入成功 if (auth()->attempt($post)) { return 'sss'; } //登入失敗 return redirect(route('admin.login'))->withErrors(['error'=>'登入失敗!']);
2.2退出
auth()->logout();
3、常用api
//檢查使用者是否登入 //登入則返回true,未登入返回false auth()->check();//未登入返回true(代表是遊客),登入返回false auth()->guest(); //獲取使用者的資訊 //如果使用者沒有登入,則返回空值 null auth()->user(); auth()->id();