发布路线访问权限

问题描述 投票:0回答:1

Laravel 登录后怎么访问不到

confirm
password
页面?当用户登录后,在地址栏中输入login,然后重定向到主页。现在,登录后,如果我们输入
confirm
password
,它会重定向到主页。

confirm
页面,在手机号码后输入确认码。

password
页面输入密码。

Route::get('/confirm', [App\Http\Controllers\Auth\MobileController::class, 'confirm'])->name('confirm');
Route::get('/password', [App\Http\Controllers\Auth\MobileController::class, 'password'])->name('password');

我在中间件中尝试了这些代码,但它不起作用。

public function handle(Request $request, Closure $next, string ...$guards): Response
{
    $guards = empty($guards) ? [null] : $guards;
    foreach ($guards as $guard) {
        if (Auth::guard($guard)->check()) {
            if ($request->is('confirm') || $request->is('password')) {
                return redirect(RouteServiceProvider::HOME);
            }
            break;
        }
    }
    return $next($request);
}
laravel
1个回答
0
投票

简单的方法是在方法中添加身份验证检查器

class MobileController extends Controller{
     public function confirm(Request $request){
         if(\Auth::check()){
             return redirect()->route("home");
         }

         //other logics will goes here
     }

}

它有更多的选择来实现它,你也可以使用中间件...... 但上面一种是更简单的方法。

© www.soinside.com 2019 - 2024. All rights reserved.