php - Laravel 中的 web.php、LoginController.php 和 AdminMiddleWare.php 之间的执行顺序(之后)是什么
问题描述
如果我使用用户类型“admin”登录,那么代码序列将如何执行?Admin Middleware 在哪些状态下工作或 Login Controller 或 Routes。Login Controller 的 redirectTo() 函数将 'dashboard' 或 'home' 返回到哪里。请详细帮助我
web.php 或路由
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
Route::group(['middleware' => ['auth','admin']],function(){
Route::get('/dashboard',function(){
return view('admin.dashboard');
});
});
登录控制器.php
protected function redirectTo(){
if(Auth::user()->usertype == 'admin'){
return 'dashboard';
}
else{
return 'home';
}
}
AdminMiddleware.php
public function handle($request, Closure $next)
{
if(Auth::user()->usertype == 'admin'){
return $next($request);
}
else{
return redirect('/home');
}
}
解决方案
用户登录后:(如果是usertype == admin
)
1- redirectTo()
in的功能LoginController.php
将被执行。
2-登录的用户将由AdminMiddleware
.
3- 用户将admin.dashboard
根据AdminMiddleware
.
用户登录后:(如果是usertype != admin
)
1- redirectTo()
in的功能LoginController.php
将被执行。
2- 用户将home
根据LoginController.php
.
推荐阅读
- javascript - 搜索表单重复提交时添加和删除owl carousal items
- java - setText() 来自xml的多个字符串
- c# - 将参考放在不同的线程上
- python - vscode 中有什么方法可以将命令“pip install”映射到“poetry add”?
- c# - 没有 IIS 的 HTTPS 上的 WCF 服务,带有来自 CERT 和 KEY 字符串或文件的 SSL 证书
- ibm-cloud - 如何在 Apache Spark 中跟踪我的应用程序的当前执行情况
- php - 如何重置 Apache
- html - 为什么导航栏折叠按钮总是显示在我的网页上?
- java - BufferedImage 像素扫描留下空白
- c++ - 如何在 macOS 中使用 Clang 从可执行文件中删除所有本地符号名称?