私はLaravel Auth登録システムを変更しようとしています。ユーザが登録ページにアクセスできるようにするためにトークンパラメータを提供するようにしたいと思っています(すなわちhttp://website.dev/register/ {tokenhere })。以下は、適切なコードです:Laravel Auth登録ページを変更する
私のルートから\ web.phpファイル:
Route::get('/register/{token}', function() {
//
})->middleware('token');
私\アプリケーション\のHttp \ミドルウェア\ CheckToken.phpファイルから:
<?php
namespace App\Http\Middleware;
use Closure;
class CheckToken
{
public function handle($request, Closure $next)
{
if($request->token != 'test') { #just hard coding something here for testing purposes
return redirect('home');
}
return $next($request);
}
}
私も追加\ Appで$ routeMiddleware配列に'token' => \App\Http\Middleware\CheckToken::class
\のHttp \ Kernel.phpしかし
、私はhttp://website.dev/registerに行き、私はトークンのパラメータを提供していないにも関わらず、ページにアクセスすることができますよ。ミドルウェアが探している「テスト」パラメータ(http://website.dev/register/test)を提供すると、空白のページが表示されることもわかります。
誰かが私を正しい方向に向けることができます。私はMVCとLaravelにはかなり新しいです。御時間ありがとうございます!
ありがとうございました。しかし、私はまだそれがまだ動作していないので、何か間違っているように思えます(編集された記事を参照)。 – Matt
ミドルウェアを使う必要はないと思います。 'Route :: get( '/ register/{token}'、 'Auth \ RegisterController @ register')のようなルートを書くだけで、RegisterControllerのwrite関数' public function register($ token) 'の後に処理することができますどのようにトークンをしたいですか? – al0mie