laravel - 如何设置和身份验证系统允许管理员进入仪表板,以及普通用户访问他的个人资料?
问题描述
我想创建一个系统登录,将普通用户定向到他们的个人资料,并将管理员定向到仪表板,在 laravel 中可以使用相同的日志记录表单吗?我正在寻找解决该问题的方法,如果有人知道该怎么做吗?
解决方案
假设你已经使用了 Laravel 的默认 auth 脚手架,你可以通过在你的LoginController
:
/**
* The user has been authenticated.
*
* @param \Illuminate\Http\Request $request
* @param mixed $user
* @return mixed
*/
protected function authenticated(Request $request, $user)
{
if ($user->hasRole('admin')) { // If using spatie/laravel-permissions
return redirect()->route('dashboard');
}
return redirect()->route('profile', ['user' => $user]);
}
推荐阅读
- swift - 如果 ContentView 更新,每次都会重新创建 FullScreenCover 中的 ChildView
- c# - 不可更改的导航按钮
- c - 如何从地图文件中删除所有未使用的功能?
- python - discord python bot api调用输入错误?
- flutter - 使用 RiverPod 和 StateNotifiers 在加载时调用函数
- reactjs - 来自 Material UI React 的 FormControl
- c++ - 需要帮助理解 std::forward
- python - 支持 M2M 关联表中的重复条目
- angular - 为什么“mat-table”会报告“缺少页眉、页脚和行的定义;无法确定应该呈现哪些列”?
- c++ - 传递给函数时使用 std::vector 误解移动语义