【问题标题】:Laravel Custom AuthLaravel 自定义身份验证
【发布时间】:2015-02-23 17:40:51
【问题描述】:

我在这里进行登录验证

$LoginData   = Input::except(array('_token')) ;
if(Auth::attempt($LoginData)) 
{
    return 'success';
}

我的表不一样,所以我在auth.php中更改表名

'table' => 'administrators'

但我有用户类型的下拉菜单可供选择。

那么我如何根据用户类型输入选择用于身份验证的表。

即,表可能是管理员或父母或雇员

【问题讨论】:

    标签: php laravel laravel-4 laravel-routing


    【解决方案1】:

    我不知道 Laravel 是否支持动态更改 auth 表名。我可以建议你一个快速的解决方案。

    根据数据库设计的泛化理论,您应该将相同类型的信息存储到一个实体集。并且根据专业化理论,如果实体集可以为每个实体提供各种类型的信息,则将它们分解为子实体集。

    建议:

    • 使用列idname 创建user_types 表(在此处存储用户类型名称)
    • 创建表users 4 列idemail/usernamepassword & user_type_iduser_type_id 是外键引用iduser_types
    • 创建 3 个单独的表,分别命名为 administratorsparentsemployees。所有 3 个表都应该有一个列 user_id,这是一个外键引用 users 表。
    • 在模型中创建关系
    • 用户登录后,可以从user<->user_type关系中判断他/她属于哪类用户
    • 您现在可以从登录页面视图中删除用户类型下拉列表(您向整个星球披露了有关您的应用程序的一些重要信息(3 种用户类型),这对您的应用程序是否有害?)

    更多关于泛化和专业化的信息: Generalization, Specialization and Aggregation

    【讨论】:

    • 谢谢,我会用的。但我还需要知道是否要即时更改身份验证表名称
    • 如果我能找到任何方法,我会告诉你的。谢谢。
    猜你喜欢
    • 2014-03-30
    • 2016-04-18
    • 1970-01-01
    • 2020-03-11
    • 1970-01-01
    • 1970-01-01
    • 2020-04-01
    • 2022-12-10
    相关资源
    最近更新 更多