首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在一个单一登录表单中创建多个身份验证

如何在一个单一登录表单中创建多个身份验证
EN

Stack Overflow用户
提问于 2019-01-30 14:07:47
回答 1查看 55关注 0票数 0

我想创建一个身份验证系统(一个单一的形式),使管理员和学生能够访问两个不同的界面,管理员可以访问控制面板和用户访问主系统。此外,我想在数据库中单独的表,一个为管理员,另一个为学生。有没有可能做到这一点?有什么建议,请告诉我怎么做。

谢谢..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-30 15:05:05

您需要更改中间件文件夹中的redirectifauthenticated.php文件。

我可以稍后编辑我的答案,我现在不能访问我的代码。但是这个想法是可行的:

在handle函数中:

代码语言:javascript
复制
          switch ($guard){
          case 'admin':
            if (Auth::guard($guard)->check()){
//if you are using some role package, use with auth()->user()->hasrole('admin'), depends //your package
              return redirect()->route('adminurl');
            }
            break;
          default:
            if (Auth::guard($guard)->check()){
                return redirect('/homepage');
            }
            break;
        }
        return $next($request);

在config/auth.php中,您还需要向guards部分添加管理保护。对于提供者也是一样的。

这是针对提供商的:

代码语言:javascript
复制
       'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => App\User::class,
        ],
        'admins' => [
            'driver' => 'eloquent',
            'model' => App\AdminModel::class,
        ],
        ]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54434257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档