【发布时间】: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