Как я могу отключить охрану во время аутентификации в Forge - PullRequest
0 голосов
/ 30 сентября 2018

Это то, что у меня есть в 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.

Когда пользователь регистрируется, система автоматически регистрирует его. На localhost я отключилguard, но он находится в папке vendor.

Поскольку я не могу загрузить папку vendor, как именно я могу отключить guard в рабочей среде?

1 Ответ

0 голосов
/ 30 сентября 2018

Вы можете переопределить метод регистрации.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());
}
...