php – 仅允许某些IP地址在Laravel 5.2中注册用户

我试图只允许某些IP地址访问寄存器路由,但我收到类型错误:

Argument 1 passed to
App\Http\Controllers\Auth\AuthController::showRegistrationForm() must
be an instance of Illuminate\Http\Request,none given,called in
directory\vendor\laravel\framework\src\Illuminate\Foundation\Auth\RegistersUsers.php
on line 19

这是我在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 App\Http\Middleware;

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' => \App\Http\Middleware\Authenticate::class,'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,'ipcheck' => \App\Http\Middleware\Ip::class,];

然后将middelware应用于路线

Route::get('/',['middleware' => ['ipcheck'],function () {
    // your routes here
}]);

希望它会帮助你

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


laravel的dd函数不生效怎么办
看不懂laravel文档咋办
安装laravel框架出现command怎么办
Laravel开发API怎么使用事务
laravel怎么构建复杂查询条件
laravel如何实现防止被下载
为什么laravel比yii火
一些常见的Laravel定时任务不运行的问题
laravel用路由有什么好处
composer无法安装laravel怎么办
laravel现在还用吗
laravel怎么替换主键id
laravel的appurl有什么用
如何修改Laravel的报错输出形式
laravel怎么避免foreach查表
laravel怎样操作数据库
laravel怎么截取字符串
laravel 是国内的吗
laravel怎么设置请求头
浅析Laravel社区Redis组件报错的问题和解决方法