如何在 Laravel 中进行自定义身份验证查询

yulianto saparudin

我是 Laravel 的新手,我遇到了一些问题。当我使用以下命令创建身份验证时:

php artisan make:auth

它会自动创建身份验证控制器、视图和默认用户表。在这里,我想做一些不同的身份验证。我有一张这样的表:

雇员

id | reg_number | name

用户

id | name | password | remember_token | employee_id | created_at | updated_at

当我登录时,我想加入employeesusers表,所以查询将是这样的:

select users.*, employees.reg_number inner join employees on employees.id = users.employee_id

然后,我想使用reg_number登录password

我怎样才能创造出这样的东西?

我在很多网站上搜索过,但没有找到任何解决方案。预先感谢您的回答。

EddyTheDove

您正在尝试使用 2 个不同的表和 2 个不同的模型进行身份验证,因此通常Auth::attempt()可能无法按预期工作。但是,您可以做的是自己手动验证用户。这有任何安全风险/问题吗?我说不清。与专家一起看。

所以你要做的是,当用户使用他们的reg_number. 你做

public function authenticate(Request $request)
{
    $employee = Employee::where('reg_number', $request->reg_number)->first();

    if ( !$employee ) { //If no employee was found
        return redirect()->back()->withErrors(['reg_number' => 'No such reg_number ']);
    }

    //Assuming you have the relationship setup between employee and user
    //probably a one to one. 
    $user = $employee->user;

    //manually check their password
    //assuming you hash every password when saving the user 
    if (Hash::check($request->password, $user->password)) {
        //password matched. Log in the user 
        Auth::login($user);
        return redirect()->intended('dashboard');
    }

    return redirect()->back()->withErrors(['credentials' => 'Check your credentials']);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将Firebase移动身份验证与自定义laravel集成-Mysql后端?

如何格式化自定义令牌以进行Firestore身份验证?

如何为Laravel 4和Laravel 5用户身份验证更改/自定义密码字段名称

如何在ember cli中使用自定义授权者和自定义身份验证器进行ember简单身份验证

Laravel自定义身份验证

如何在语义UI中进行自定义验证?

如何在Laravel中对自定义模型使用身份验证

如何在Laravel 5.3中进行自定义身份验证

如何在现有的默认身份验证上使用Laravel创建自定义身份验证

如何在Laravel中进行身份验证后放置会话

如何在Laravel中进行条件查询

如何在Laravel中查询自定义键?

Laravel自定义身份验证用户字段

如何在Laravel身份验证中处理列的自定义名称,用户名和密码

无法在自定义Laravel测试环境中进行身份验证(代码接收)

如何不基于用户模型进行自定义身份验证

Laravel 5.2:如何自定义默认身份验证表名称

Laravel上的自定义身份验证

我们如何在laravel 5.3中对多维数组进行自定义验证

如何在模型 Laravel 中编写自定义查询?

如何在 AWS 自定义授权方中对用户进行身份验证?

Laravel 5 自定义身份验证尝试

Laravel 5.5 自定义身份验证问题

如何在 Laravel 中进行此类查询?

Laravel 自定义多重身份验证

如何在 ADFS 中使用自定义身份验证替换主要身份验证

在 Laravel 6 上使用自定义身份验证

尝试在 Laravel 中设置自定义身份验证

我们如何在 Laravel 中实现自定义的仅限 API 的身份验证