繁体   English   中英

在laravel 5.4中添加管理员角色

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM