注:前提, 账号和密码的字段名一定要用 username和password
0、修改配置,修改config下的auth.php
将‘model’ 修改为 对应的 user模型
'providers' => [ 'users' => [ 'driver' => 'eloquent', 'model' => AppModelUser::class, ],
1、模型类继承auth的user
1.1引入并起别名
use IlluminateFoundationAuthUser 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();