Laravel 5.3 不同用户表登录认证
来源:互联网 发布:java中调用void方法 编辑:程序博客网 时间:2024/06/03 16:41
具体看这篇文章:
Laravel 5.3 不同用户表登录认证
需要优化的地方:不需要新增中间件,【后台管理认证中间件】部分全部去掉,使用框架自带的中间件传参就行了。
Admin/LoginController.php 中修改中间件:
$this->middleware('guest.admin', ['except' => 'logout']);
修改为:
$this->middleware('guest:admin', ['except' => 'logout']);
仅仅改了个冒号,冒号后面即为参数,给默认的guest中间件传参。
修改guest中间件App\Http\Middleware\RedirectIfAuthenticated.php:
public function handle($request, Closure $next, $guard = null){ if (Auth::guard($guard)->check()) { switch ($guard) { case 'admin': return redirect('/admin'); break; default: return redirect('/home'); break; } } return $next($request);}
根据guard名来重定向,已登陆时,访问登录页面跳转的地址。
修改路由:
Route::group(['middleware' => 'auth.admin'], function () { Route::get('/', 'Admin\IndexController@index');});
为:
Route::group(['middleware' => 'auth:admin'], function () { Route::get('/', 'Admin\IndexController@index');});
仅仅改了个冒号,冒号后面即为参数,给默认的auth中间件传参。
修改App\Exceptions\Handler.php的unauthenticated()方法:
protected function unauthenticated($request, AuthenticationException $exception) { if ($request->expectsJson()) { return response()->json(['error' => 'Unauthenticated.'], 401); } $guards = $exception->guards(); $guard = ! empty($guards) ? $guards[0] : null; switch ($guard) { case 'admin': return redirect()->guest('admin/login'); break; default: return redirect()->guest('login'); break; } }
这里也是根据guard名来重定向,未登陆时,访问需要登陆的页面跳转的地址。
注:
默认的auth中间件(Illuminate\Auth\Middleware\Authenticate),在验证失败后,会抛出异常
throw new AuthenticationException('Unauthenticated.', $guards);
抛出异常后会触发App\Exceptions\Handler类的unauthenticated()方法,具体怎么触发的还要研究一下。
0 0
- Laravel 5.3 不同用户表登录认证
- Laravel 5.3 不同用户表登录认证
- laravel 5.3用户认证--默认的用户表数据迁移
- Laravel 用户认证
- Laravel 重写用户登录
- LARAVEL 用户登录实例
- Laravel的用户认证模块
- Laravel 用户认证体系详解
- Laravel 5.3 多用户表登录
- Laravel Passport oauth2.0 验证不同表用户修改
- laravel的用户认证系统-手动认证用户
- 关于laravel前后台多表认证登录问题
- laravel的服务-用户认证
- Laravel中用户认证功能的实现
- Laravel注册、登陆及用户认证
- Laravel 中用户认证(Auth)
- laravel 使用JWT实现用户认证
- 实现不同用户登录显示不同页面
- Android JCVideoPlayer视频播放器使用相关(新版JCVideo已经添加相关功能)
- SVN搭建教程网址
- unity常见的解析数据方式XML,JSON,ProtocolBuf篇(二)XML
- 分布式文件系统 - FastDFS 安装部署
- 20. Spring Boot Servlet【从零开始学Spring Boot】
- Laravel 5.3 不同用户表登录认证
- SQL Server 存储(3/8):理解GAM和SGAM页
- java算法篇---银行家算法
- View---VelocityTracker 速度追踪
- AD15 根据原理图 对 PCB进行 分功能 布局
- uva1073 Glenbow Museum【解法二】
- linux 内核机制
- 21. Spring Boot过滤器、监听器【从零开始学Spring Boot】
- .net mvc 部署到IIS 报错403.14 - forbidden