【问题标题】:authentication from two table using laravel使用 laravel 从两个表进行身份验证
【发布时间】:2020-01-22 16:00:15
【问题描述】:

我是 laravel 的新手,我试图从两个表中进行自定义验证,

我有表用户(包含id,email, password,job_type)和 另一个表名员工,字段为user_id,admin_type_id, 我的问题是,当我尝试使用登录用户检查数据并确认他是表 Employee 中 job_tybe =1 的员工并且符合类型是 admin_type_id =1 当我创建 var_dump($admin) 时,我得到的输出是 @ 987654326@ 我发现我的问题是数据库中的密码寄存器不是从表单发送的密码 我怎样才能输入密码是我牙科登录 登录条件为job_tybe =1+ admin_type_id =1 这是我的代码:-

public function authenticate(Request $request)
{
    $credentials = array(
        'email' => $request->get('email'),
        'password' => $request->get('password'),

    );
    //check user is employee
    $admin=User::where(['email' => $credentials['email'],'password' =>Hash::make($credentials['password']) ,'deleted'=>1,'status'=>1,'job_type'=>1])->first();

        //get admin type
    $adminType=Employee::where(['id_user' => $admin->id, 'admin_type_id'=>1,'deleted'=>1,'status'=>1])->first();;
    if($adminType !=null)
    {
        if (Auth::attempt($credentials)) {
            return redirect()->route('brand.create');
            exit();
        }
        return redirect()->back()->with("messageError","Invalid Email Or Password");

    }

【问题讨论】:

  • 为什么你不对两者使用相同的身份验证系统,然后使用角色/门来管理对不同事物的访问?

标签: laravel laravel-5 eloquent


【解决方案1】:

使用“bcrypt('password')”方法来设置密码。

【讨论】:

    猜你喜欢
    • 2017-06-14
    • 1970-01-01
    • 2021-02-08
    • 2021-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多