我正在尝试修改Laravel Auth注册系统,因为我要求提供令牌参数,以便用户能够访问注册页面(即http://website.dev/register/ { tokenhere})。以下是相关代码:
来自我的routes \ web.php文件:
Route::get('/register/{token}', function() {
//
})->middleware('token');
来自我的\ App \ Http \ Middleware \ 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 \ Http \ Kernel.php
中的$ routeMiddleware数组中添加了'token' => \App\Http\Middleware\CheckToken::class
但是,我转到http://website.dev/register并且我能够访问该页面,尽管没有提供令牌参数。我还可以看到,如果我提供了测试&#39;中间件正在寻找的参数(http://website.dev/register/test),我得到一个空白页。
希望有人能指出我正确的方向。我对MVC和Laravel来说很陌生。谢谢你的时间!
答案 0 :(得分:0)
您可以创建自定义路由,例如/ register / {token}并在控制器中处理此令牌。如果你愿意,甚至可以设置在中间件组中。