我有一个连接到AngularJS应用程序的Laravel后端API,其中使用Satellizer包对JWT令牌进行身份验证。到目前为止,我只有一种类型的用户,但我想介绍管理员,因此我在User表中添加了role
列。当用户登录时,如果他是管理员,它将重定向到Laravel端的视图。如果是普通用户,它将返回一个令牌,然后重定向到AngularJS端的普通网站。
但是我在完成这项工作时遇到了一些麻烦。这是登录方法:
public function login(Request $request)
{
$email = $request->input('email');
$password = $request->input('password');
$user = User::where('email', '=', $email)->first();
if (!$user)
{
return response()->json(['message' => 'Wrong email and/or password'], 401);
}
if (Hash::check($password, $user->password))
{
unset($user->password);
return response()->json(['token' => $this->createToken($user)]);
}
else
{
return response()->json(['message' => 'Wrong email and/or password'], 401);
}
}
我认为这就像添加这个一样简单:
if($user->role == "admin"){
return view('index');
}
有人知道我做错了吗?