php – 仅允许某些IP地址在Laravel 5.2中注册用户
发布时间:2020-12-14 19:49:47 所属栏目:大数据 来源:网络整理
导读:我试图只允许某些IP地址访问寄存器路由,但我收到类型错误: Argument 1 passed to AppHttpControllersAuthAuthController::showRegistrationForm() must be an instance of IlluminateHttpRequest,none given,called in directoryvendorlaravelfram
我试图只允许某些IP地址访问寄存器路由,但我收到类型错误:
这是我在AuthController中的showRegistrationForm方法: public function showRegistrationForm(Request $request) { $ip = $request->ip(); if ($ip == "148.124.0.1") { return redirect("register"); } else { return redirect("home"); } } 有谁知道我会怎么做到这一点?
而是检查控制器,请检查这种方式
php artisan make:middleware IpMiddleware 码 <?php namespace AppHttpMiddleware; use Closure; class IpMiddleware { public function handle($request,Closure $next) { if ($request->ip() != "192.168.0.155") { // here insted checking single ip address we can do collection of ip //address in constant file and check with in_array function return redirect('home'); } return $next($request); } } 然后在app / Http / Kernel.php类的$middleware属性中添加新的中间件类. protected $routeMiddleware = [ 'auth' => AppHttpMiddlewareAuthenticate::class,'auth.basic' => IlluminateAuthMiddlewareAuthenticateWithBasicAuth::class,'guest' => AppHttpMiddlewareRedirectIfAuthenticated::class,'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,'ipcheck' => AppHttpMiddlewareIp::class,]; 然后将middelware应用于路线 Route::get('/',['middleware' => ['ipcheck'],function () { // your routes here }]); 希望它会帮助你 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |