我正在做一个Laravel5.8项目。我想建立一个认证系统,管理员可以以用户身份登录。我有单独的表进行身份验证;一个用于管理,另一个用于普通用户。
用户登录在默认的Laravel身份验证上工作,对于admin,有一个自定义的登录代码。
Auth::guard('admin')->attempt([
'name' => $request->name,
'password' => $request->password
], $request->remember);例如:
我有3个用户: user1
user2 user3
以及一个用户名为“admin”的管理用户。
管理员可以看到站点上的用户列表。在那个页面上,有一个按钮,上面写着“登录为.”。因此,当管理员单击该按钮时,管理员可以以该用户的身份登录。这意味着管理员可以做用户可以做的事情。但是所有的工作都将作为管理员来完成。
简单地说,:如果管理员想以任何一个用户的身份登录并执行他的内容,管理员将以该用户身份登录。同时,管理员希望以User1的身份登录到前端,但管理端管理员将以admin的身份登录。
发布于 2021-07-06 14:39:15
试试这个吧。您可以添加两个表列,其中一个名为“角色”,带有枚举值,例如ADMIN、CUSTOMER,另一个名为"is_normal_user“,具有布尔类型值,您可以将其设置为true或false。因此,当您尝试以管理员身份登录并执行管理功能时,请通过检查它们的角色是admin还是CUSTOMER来使用该角色,然后当您尝试登录并将客户函数作为管理员时,使用"is_normal_user“字段。
https://stackoverflow.com/questions/68271442
复制相似问题