【问题标题】:Multiple authentication table in Laravel 5.1Laravel 5.1 中的多重认证表
【发布时间】:2016-03-23 13:19:47
【问题描述】:

我有两种类型的用户。 还有两张桌子。
1. 技术人员
2. 请求者
在 laravel 5.1 中有什么方法可以进行多重身份验证吗?
我看到并阅读了这篇文章。
Laravel 5.1 multiple authentication
但我不是按用户表中的 group_id 分隔用户。
我想在每个表中保存用户名和密码。 技术员用户,通过保存在技术员表和请求者中。
有什么办法吗? 顺便说一下,每张桌子都有特殊的规则

【问题讨论】:

  • 为什么不给用户只有一张表,那么一个用户可以属于技术人员或请求者,然后使用Laravel hasOne 关系或belongsTo,不需要多个用户,不是最好的
  • 我认为您正在寻找的是基于角色的身份验证。将不同类型的用户保存到不同的表不是一个好主意。你可以委托 laravel。
  • 谢谢,如果我使用一张表,请求者会更改 group_id 并成为技术人员。如果请求者是黑客并绕过 group_id

标签: php authentication laravel-5.1


【解决方案1】:

你可以安装这个包:https://github.com/Kbwebs/MultiAuth

请阅读文档。

在这个包中你可以创建多个身份验证。这将覆盖 laravel 的身份验证系统。

例如,您想为用户和管理员创建身份验证。

在 config/auth.php 中定义 2 auth:

'multi-auth' => [
    'admin' => [
        'driver' => 'eloquent',
        'model'  => App\Admin::class
    ],
    'user' => [
        'driver' => 'eloquent',
        'model'  => App\User::class
    ]
]

您的身份验证语法也会改变,请参见下图,它将向您展示语法方面的坎帕里森,如何登录用户和管理员与默认的 laravel 身份验证语法:

【讨论】:

    猜你喜欢
    • 2015-11-05
    • 2018-03-16
    • 2015-11-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    • 2017-01-07
    • 2016-02-28
    相关资源
    最近更新 更多