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

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

高洛峰
高洛峰

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

reply all (3)
小葫芦

自己找到解决方法了,过程如下
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.做到这一步基本上就大功告成了,剩下的就是选择性的调整视图和跳转的页面了。

    Ty80

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

      小葫芦

      一分钟前刚回答了这个问题.. 可以参考下 https://segmentfault.com/q/10...

        Latest Downloads
        More>
        Web Effects
        Website Source Code
        Website Materials
        Front End Template
        About us Disclaimer Sitemap
        php.cn:Public welfare online PHP training,Help PHP learners grow quickly!