php - Laravel,如果用户未通过身份验证,则重定向到特定的登录页面
问题描述
我尝试了所有可能的解决方案来重定向用户,如果由于他们的中间件而没有通过身份验证到不同的登录页面,但是每次需要我去 /register 时,我都会修改中间件文件夹中的 Authenticate.php 以及它自己的中间件,但仍然需要我到/注册。如果他没有登录,我想将用户重定向到特定的登录页面,所以我有编辑器中间件,所以如果有人试图打开链接 /editor/dashboard 并且他没有经过身份验证,我想重定向到 /editorlogin
编辑器中间件:
public function handle($request, Closure $next)
{
if(auth()->user() && (auth()->user()->role_id == 3)) {
return $next($request);
} else {
return redirect()->intended('editorlogin');
}
路线:
Route::group(['middleware' => ['auth:web','editor'],'prefix' => 'writer'], function () {
Route::get('/dashboard', 'Writer\WriterController@index')->name('writer.dashboard');
Route::resource('/store', 'Writer\StoreController');
解决方案
从auth:web
_auth
web
是不同的中间件并且auth
是不同的
auth
有不同的重定向网址,这就是为什么您得到auth
重定向网址而不是您的自定义网址
Route::group(['middleware' => ['web','editor'],'prefix' => 'writer'], function () {
推荐阅读
- ruby-on-rails - 如何在嵌套表单中接受数组参数?
- python - Python:循环数据时继续通过“RuntimeError”
- reactjs - 引导表获取数据的速度不够快
- vlang - 我可以在 Mac OS 中安装 vlang 吗?
- arrays - 将 fromiter 与 arcpy 光标一起使用时出现 Numpy 错误
- openlayers - 扩展 OpenLayers 交互时无法在打字稿中声明事件类型
- html - 浏览器不加载外部引导链接也不具体化
- python - 使用 Visual Studio Code 调试 Python 后端和响应前端
- javascript - 如何在节点中同时启动多个等待进程
- flutter - Dart-即使在使用后也会收到未使用的变量通知