如何在Laravel framework php应用程序中设置主/管理员访问权限?
我最近收到了一个用Laravel框架构建的web应用程序。我来自PHP编程世界,很少接触框架(曾短暂使用Zend应用程序) 我需要设置一个通用主密码,允许用户访问所有用户帐户。我不确定laravel AuthenticateUsers.php是如何工作的,需要一些帮助 在我的LoginController.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
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。似乎“模仿”的方法是一条出路。将尝试。您可能希望将其改写为较长的答案,这样人们就不会倾向于将其标记为“应为评论”或“仅链接答案”。您可能希望将其改写为较长的答案,这样人们就不会倾向于将其标记为“应为评论”或“仅链接答案”。