在Forge上进行身份验证时如何禁用防护

时间:2018-09-30 13:01:28

标签: laravel forge

这是我在RegisterUsers.php中的内容,该文件位于我的供应商文件夹中:

public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    //$this->guard()->logout();

    return $this->registered($request, $user)
                    ?: redirect($this->redirectPath());
}

在我的RegisterController中,从auth文件夹中,我有以下内容:

protected function create(array $data)
{
    Session::flash('status', 'Please verify your email for account activation');
    //if $request->role_id == '2' then save the role_id
    $user = User::create([
        'name' => $data['name'],
        'email' => $data['email'],
        'password' => Hash::make($data['password']),
        'verifytoken' => Str::random(40),
        'role_id' => $data['role_id']
    ]);
    $thisUser = User::findOrFail($user->id);
    $this->sendEmail($thisUser);
    return $user;
}

我使用forge部署了网站,但我只是注意到我的注册与本地主机上的注册工作不同。

当用户注册时,系统会自动将其登录。在localhost上,我已禁用防护功能,但该防护功能位于供应商文件夹中。

由于我无法上载供应商文件夹,因此如何在实时环境中禁用防护功能?

1 个答案:

答案 0 :(得分:0)

您可以覆盖注册方法。 Auth\RegisterController:使用供应商的RegistersUsers;

因此您可以简单地创建如下方法:

public function register(Request $request)
{
    $this->validator($request->all())->validate();

    event(new Registered($user = $this->create($request->all())));

    return $this->registered($request, $user)
                    ?: redirect($this->redirectPath());
}