身份验证配置文件
config/auth.php
App\User 密码的长度至少为 60 remember_token 100
App\Http\Controllers\Auth
RegisterController,LoginController,ForgotPasswordController,ResetPasswordController
使用auth中间件,登录后才能访问
Route::get('profile', function () {
// 只有认证过的用户可以进入...
})->middleware('auth');
// 获取当前通过认证的用户...
$user = Auth::user();
// 获取当前通过认证的用户 ID...
$id = Auth::id();
//是否认证
Auth::check()
demo1
$credentials = $request->only('email', 'password');
if (Auth::attempt($credentials)) {
// 通过认证..
return redirect()->intended('dashboard');
}
demo2
if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1])) {
//验证处于激活状态,并且存在的用户
}
if (Auth::attempt(['email' => $email, 'password' => $password], $remember)) {
// 用户已经被记住...
}
demo3 自定义用户表
if (Auth::guard('admin')->attempt($credentials)) {
//
}
Auth::logout();
其它身份验证方法
Auth::login($user);
// 登录并记住给定用户...
Auth::login($user, true);
Auth::guard('admin')->login($user);
//通过ID
Auth::loginUsingId(1);
//登录并记住给定用户...
Auth::loginUsingId(1, true);
//仅验证一次用户身份
if (Auth::once($credentials))
单设备登录
需要保证 Illuminate\Session\Middleware\AuthenticateSession 中间件在你的 app/Http/Kernel.php 类中的 web 中间件组中
'web' => [
\Illuminate\Session\Middleware\AuthenticateSession::class,
],
use Illuminate\Support\Facades\Auth;
Auth::logoutOtherDevices($password);