php - Laravel5.3如何通过公共的auth模块验证不同表中的用户
高洛峰
高洛峰 2017-04-11 10:19:48
[PHP讨论组]

目前只能认证users表里面的用户,我还想认证administrators表中的用户,但是不知道该怎么做了。
我在auth.php里面配置了一个system的guard,如果把他配置成默认的就可以认证,但是这样就没有办法认证users表了,请问有什么办法可以通过访问不同的登录表单然后使用公共的登录逻辑去认证不同表中的用户呢。

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

全部回复(2)
高洛峰

自己找到解决方法了,过程如下
1.将系统的登录控制器文件复制到你需要单独认证的模块中,然后在里面添加方法

protected function guard()
{
    return Auth::guard('myguard');//myguard是我自己命名的,你可以修改为自己想要的名字
}

2.在config/auth.php中配置你自己的myguard,参照系统默认的配置添加一个就可以

3.为你的登录方法配置路由

Route::group(['prefix' => 'module', 'namespace' => 'Module'], function () {
    Route::get('login', 'LoginController@showLoginForm')->name('login');
    Route::post('login', 'LoginController@login');
});

4.在你需要认证的页面路由中使用[auth:myguard]方式进行认证。

5.做到这一步基本上就大功告成了,剩下的就是选择性的调整视图和跳转的页面了。

PHP中文网

我也刚做过这个功能,从5.2的时候开始有了这个功能

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号