Laravel 8如何解决退出登录后站点根页自动重定向到登录页问题
问题原因
你在HomeController的构造方法中全局注册了auth中间件,这意味着该控制器下的所有方法都会强制要求用户登录验证,哪怕路由没有单独加中间件限制也会生效,所以根路径、文章详情页这些公共路由自然会被重定向到登录页。
解决方法
修改HomeController的__construct方法,把不需要登录的公共方法排除在auth中间件之外即可,有两种写法可选:
写法1:指定仅后台方法启用登录验证
public function __construct() { $this->middleware('auth')->only(['admin_index', 'AddArticle', 'DeleteArticle', 'Edit']); }
写法2:指定前台公共方法排除登录验证
public function __construct() { $this->middleware('auth')->except(['index', 'read']); }
额外优化建议
你当前dashboard路由组的中间件配置存在逻辑错误:guest:api是仅允许未登录用户访问的中间件,不符合后台需要登录才能访问的要求,建议修改为:
Route::group(['prefix' => 'dashboard','middleware' => 'auth'], function () { // 原有后台路由保持不变 });
内容的提问来源于stack exchange,提问作者Mohamed Yousef
相关产品推荐
相关产品推荐

