Laravel5.3如何通过公共的auth模块验证不同表中的用户

发布于 2022-09-03 14:56:34 字数 289 浏览 22 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

余生一个溪 2022-09-10 14:56:35

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

撩发小公举 2022-09-10 14:56:35

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

回心转意 2022-09-10 14:56:34

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文