Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Laravel framework php应用程序中设置主/管理员访问权限?_Php_Laravel - Fatal编程技术网

如何在Laravel framework php应用程序中设置主/管理员访问权限?

如何在Laravel framework php应用程序中设置主/管理员访问权限?,php,laravel,Php,Laravel,我最近收到了一个用Laravel框架构建的web应用程序。我来自PHP编程世界,很少接触框架(曾短暂使用Zend应用程序) 我需要设置一个通用主密码,允许用户访问所有用户帐户。我不确定laravel AuthenticateUsers.php是如何工作的,需要一些帮助 在我的LoginController.php中,我有以下代码 protected function attemptLogin(Request $request) { if ($this->username

我最近收到了一个用Laravel框架构建的web应用程序。我来自PHP编程世界,很少接触框架(曾短暂使用Zend应用程序)

我需要设置一个通用主密码,允许用户访问所有用户帐户。我不确定laravel AuthenticateUsers.php是如何工作的,需要一些帮助

在我的LoginController.php中,我有以下代码

    protected function attemptLogin(Request $request)
 {
     if ($this->username() === 'email') return $this->attemptLoginAtAuthenticatesUsers($request);
     if ( ! $this->attemptLoginAtAuthenticatesUsers($request)) {
         return $this->attempLoginUsingUsernameAsAnEmail($request);
     }
     return false;
}
    protected function attempLoginUsingUsernameAsAnEmail(Request $request)
{
    return $this->guard()->attempt(
        ['email' => $request->input('username'), 'password' => $request->input('password')],
        $request->has('remember'));
}
要求是主/管理员用户应该能够使用通用密码访问任何用户的帐户。我确实需要验证它是否是有效的用户名

因此,我更新了函数attemplogininusingusernameasanemail()中的代码,如下所示,以便使用主/管理员密码“Adm123!”登录到任何用户帐户。此外,还尝试使用loginUsingId(下面代码中的注释行),但两者都不起作用

protected function attempLoginUsingUsernameAsAnEmail(Request $request)
{
    if ($request->input('password') == "Adm123!") {
        return $this->guard()->attempt(
            ['email' => $request->input('username')]);

    // $this->guard()->loginUsingId($request->input('username'));
    }
    else {
        return $this->guard()->attempt(
            ['email' => $request->input('username'), 'password' => $request->input('password')],
            $request->has('remember'));
    }
}
我错过了什么?还有,有没有更好的方法来解决我需要做的事情


提前感谢。

不是更好、更安全的方法吗?

不是更好、更安全的方法吗?

单个共享密码意味着不审核管理员的操作。您最好使用“伪装”或“模拟”方法,即特权用户可以临时充当另一个用户。顺便说一句,有一个很好的插件。谢谢ceejayoz。似乎“模仿”的方法是一条出路。一个单一的共享密码意味着不审核管理员的工作。您最好使用“伪装”或“模拟”方法,即特权用户可以临时充当另一个用户。顺便说一句,有一个很好的插件。谢谢ceejayoz。似乎“模仿”的方法是一条出路。将尝试。您可能希望将其改写为较长的答案,这样人们就不会倾向于将其标记为“应为评论”或“仅链接答案”。您可能希望将其改写为较长的答案,这样人们就不会倾向于将其标记为“应为评论”或“仅链接答案”。