gpt4 book ai didi

php - 允许管理员用户查看其他用户类型可以查看/执行的操作?

转载 作者:行者123 更新时间:2023-12-03 23:44:49 25 4
gpt4 key购买 nike

我有一个 Laravel 网络应用程序,由两种类型的用户组成:

  1. 客户
  2. 管理员

根据他们的用户类型,他们可以看到和执行不同的事情。


客户

当以客户身份登录时,我的客户将看到不同的仪表板。


管理员

当以管理员身份登录时,我可以在表格中看到用户列表

例子,

  1. 用户A
  2. 用户B
  3. 用户C
  4. 更多……

目标:我想看看客户在单击列表中的一个用户时看到了什么。

我想不出解决方案。


海事组织

Auth::user()->type 是否适用于这种情况?

目标是将页面呈现为 Auth:user()->type == 'customer',而实际的 Auth::user()->type == '管理员'。我不完全确定我正在尝试做的事情是否可行。


我如何在 Laravel 中做类似的事情?

最佳答案

您可以尝试我在我的一个项目中所做的事情 - 实现非常简单,也许您也可以利用它。

在我们的 AuthController 中还有一个额外的 Action ,允许用户切换到其他用户并记住 session 中的当前用户 ID:

public function switchUser($userId)
{
// disallow switched users from switching again
if (Session::get('previous_user')) App::abort(403);

$user = User::findOrFail($userId);

Session::set('previous_user', Auth::id());

Auth::login($user);

return redirect('some path');
}

第二部分是自定义的注销功能,对于切换的用户,将他们切换回原来的用户帐户而不是注销:

public function getLogout()
{
if ($previousUser = Session::get('previous_user')) {
Session::remove('previous_user');
Auth::loginUsingId($previousUser);

return redirect('some path');
}

Auth::logout();

return redirect('some path');
}

使用该逻辑,您将能够切换到其他用户并返回。您可能需要添加权限检查,以便只有管理员可以执行此操作等,将列表中的客户链接到切换 URL,无论如何,功能的核心在上面的代码中。

关于php - 允许管理员用户查看其他用户类型可以查看/执行的操作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34292413/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com