关于网友提出的“ laravel54自带的用户认证如何在注册前执行中间件?谢谢大家~”问题疑问,本网通过在网上对“ laravel54自带的用户认证如何在注册前执行中间件?谢谢大家~”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: laravel54自带的用户认证如何在注册前执行中间件?谢谢大家~
描述:我的问题是这样的,现在呢我用的laravel自带的用户认证因为毕竟方面,现在碰到个问题,就是碰到一些用户恶意注册,我想在新用户注册提交前执行一个判断代码,请问怎么个思路,谢谢大家~
解决方案1:感谢以上几位解答
解决方案2:我的产品是把注册用户跟印证用户分开。必须要电子邮件作为注册的一部分。然后我会发送一封印证邮件到该邮箱,只要用户在3天之内点击了这个印证链接,我就将用户从【注册用户】升级成为【印证用户】然后在权限上对2中用户做了处理。这样又不会失去真实用户注册体验,也会屏蔽掉一些捣乱分子。
解决方案3:像上面说的自定义中间件后,在App\Http\Controllers\Auth\RegisterController里的构造函数中
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest');
$this->middleware('checkIp');
}
解决方案4:可以使用自定义中间件来解决。
运行Artisan 命令 make:middleware 创建新的中间件:
php artisan make:middleware CheckIpIsRegistered
再 app/Http/Kernel.php 注册中间件:
protected $routeMiddleware = [
'auth' => \Illuminate\Auth\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'checkip' => CheckIpIsRegistered::class,
];
添加中间件到路由
Route::post('user/register', function () {
//
})->middleware('checkip');
以上介绍了“ laravel54自带的用户认证如何在注册前执行中间件?谢谢大家~”的问题解答,希望对有需要的网友有所帮助。
本文网址链接:http://www.codes51.com/itwd/4536099.html