前提・実現したいこと
Laravelを用いて、ECサイト作成中です!
そこで、ログイン機能を実装すべく、jetstreamをDLし、ユーザー情報の登録、ログイン機能の実装は完了。
しかし、ユーザー情報登録後・ログイン後に遷移するページの指定がうまくいかず。
助言・アドバイス等あれば、ご教授いただけると幸いです!
該当のソースコード
<?php namespace App\Http\Middleware; use App\Providers\RouteServiceProvider; use Closure; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class RedirectIfAuthenticated { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @param string|null ...$guards * @return mixed */ public function handle(Request $request, Closure $next, ...$guards) { $guards = empty($guards) ? [null] : $guards; foreach ($guards as $guard) { if (Auth::guard($guard)->check()) { return redirect(RouteServiceProvider::HOME); } } return $next($request); } }
<?php namespace App\Providers; use Illuminate\Cache\RateLimiting\Limit; use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider; use Illuminate\Http\Request; use Illuminate\Support\Facades\RateLimiter; use Illuminate\Support\Facades\Route; class RouteServiceProvider extends ServiceProvider { /** * The path to the "home" route for your application. * * This is used by Laravel authentication to redirect users after login. * * @var string */ public const HOME = 'product'; /** * The controller namespace for the application. * * When present, controller route declarations will automatically be prefixed with this namespace. * * @var string|null */ // protected $namespace = 'App\Http\Controllers'; /** * Define your route model bindings, pattern filters, etc. * * @return void */ public function boot() { $this->configureRateLimiting(); $this->routes(function () { Route::prefix('api') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api.php')); Route::middleware('web') ->namespace($this->namespace) ->group(base_path('routes/web.php')); }); } /** * Configure the rate limiters for the application. * * @return void */ protected function configureRateLimiting() { RateLimiter::for('api', function (Request $request) { return Limit::perMinute(60)->by(optional($request->user())->id ?: $request->ip()); }); } }
ちなみに、routeは下記のようになっており、情報登録後・ログイン後に遷移したいページは、product.indexです!
<?php use Illuminate\Support\Facades\Route; /* |-------------------------------------------------------------------------- | Web Routes |-------------------------------------------------------------------------- | | Here is where you can register web routes for your application. These | routes are loaded by the RouteServiceProvider within a group which | contains the "web" middleware group. Now create something great! | */ Route::get('contact', 'App\Http\Controllers\ContactController@index')->name('contact.index'); Route::post('contact/confirm', 'App\Http\Controllers\ContactController@confirm')->name('contact.confirm'); Route::post('contact/thanks', 'App\Http\Controllers\ContactController@send')->name('contact.send'); Route::get('product/about', 'App\Http\Controllers\ProductController@about')->name('product.about'); Route::resource('product', 'App\Http\Controllers\ProductController'); Route::middleware(['auth:sanctum', 'verified'])->get('/dashboard', function () { return view('dashboard'); })->name('dashboard');
試したこと
調べてみたところ、定数HOMEの値を変更すればそのファイルに遷移できるとのことであるため、記載している/productなどに変更するなど試してみましたが、だめでした。
補足情報(FW/ツールのバージョンなど)
php 7.3.24
Laravel8.35.1
jetstream
他に必要な情報あれば追記しますので、お手数ですがご教授よろしくお願い致します!
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/04/29 03:17