Laravel5.6 使用手动认证 auth,Auth::check () 总是验证不了
laravel5.6 使用手动认证auth,Auth::check()总是验证不了:
这是我的auth.php配置文件:
'defaults' => [
'guard' => 'admin',
'passwords' => 'users',
],
'guards' => [
'admin' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\Admin\User::class,
//'model' => 'App\Models\Admin\User',
],
// 'users' => [
// 'driver' => 'database',
// 'table' => 'users',
// ],
],
这个是我的登录验证类:
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class LoginController extends Controller {
/**
* 处理身份认证
* @return Response
*/
public function authenticate(Request $request) {
$username = $request->has('username') ? $request->input('username') : '';
$password = $request->has('password') ? $request->input('password') : '';
if (Auth::attempt(['account' => $username, 'password' => $password])) {
return redirect('/admin/index');
} else {
return redirect('/admin/login')->with('error', '账号或密码错误');
}
}
}
这个是我的basecontroller里面的验证组件:
<?php
namespace App\Http\Controllers\Admin;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
class BaseController extends Controller {
public function __construct() {
$this->middleware('auth', ['except' => ['login', 'logout']]);
}
public function getValue(Request $request, $key) {
$data = $request->has($key) ? $request->input($key) : '';
return $data;
}
}
登录成功后跳转到admin/index ,AdminController类继承basecontroller类,但是跳转到admin/index的时候,总是验证失败,使用Auth::check()也总是返回false,在checklogin的时候是成功的,下面这里是成功的,
if (Auth::attempt(['account' => $username, 'password' => $password])) {
return redirect('/admin/index');
}
哪位大神能给指点下,是不是哪里配置错了? 谢谢。
推荐文章: