[英]Add Admin role in laravel 5.4
我有一个数据库,其中:Admin具有True isAdmin属性,但其他用户具有false isAdmin属性。
我想检查谁登录的用户是管理员或不将其重定向到我的应用程序不同的页面。 我在Controller中的代码是:
public function store(User $user)
{
if (auth()->attempt(request(['email', 'password']))) {
if ($user->isAdmin == 1) {
return redirect('/ShowUser');
}
{
return redirect('/lo');
}
}
return back()->withErrors(
[
'message' => 'Error'
]
);
}
但是这段代码行不通; 它始终将用户发送到'/lo'
。 我该如何解决?
您缺少else
关键字。
就在这儿:
if ($user->isAdmin == 1) {
return redirect('/ShowUser');
}
{ // <-- right here
return redirect('/lo');
}
添加else
关键字。
if ($user->isAdmin == 1) {
return redirect('/ShowUser');
}
else { // <-- right here
return redirect('/lo');
}
无论如何,即使经过上面的编辑,您的代码仍然可以正常运行。 但是我有个问题要问你:
是否假定user
已经在数据库中?
数据库中isAdmin
的默认值是什么?
您是否将isAdmin
属性作为表单或其他内容的输入传递?
为什么它是一个store
时,你只是想登录用户请求?
这有点令人困惑。 我可以从您的代码中看出您正在尝试登录用户,但是您正在使用store
方法(这没什么问题,只是约定), store
方法通常用于存储数据(巧合! )
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.