如何在Laravel 5中禁用自动登录?

Jag*_* NH 7 php laravel-5

我是Laravel的新手但是爱上了这个框架并决定将它用于我的项目.

我有一个字段active,默认情况下我将其设置为0.在Attempt()方法中,我已经设定了$credentials['active'] = 1.当我注销并再次登录时,这很好用.

但是当我注册用户时,它会自动登录用户而不检查活动字段.

Mar*_*nte 4

AuthenticatesAndRegistersUsers我假设您正在控制器中使用该特征。

注册由postRegister()该特征中的方法进行,该login()特征在创建新用户后调用该方法。

您可以在控制器中重写此方法,并login()仅在active字段为时调用该方法true。所以,你的postRegister()方法将是这样的:

public function postRegister(Request $request)
{
    $validator = $this->registrar->validator($request->all());

    if ($validator->fails())
    {
        $this->throwValidationException(
            $request, $validator
        );
    }

    $user = $this->registrar->create($request->all());

    if ($request->get('active')) {
        $this->auth->login($user);
    }

    return redirect($this->redirectPath());
}
Run Code Online (Sandbox Code Playgroud)