为什么在Laravel AuthController中覆盖postRegister不起作用?

时间:2016-03-18 22:52:32

标签: php laravel authentication override

我正在调整Laravel 5.2中的开箱即用的AuthController以满足我的需求。注册新用户时,不希望新用户自动登录。我已经读过,通过从AuthController中的RedirectsUsers特性覆盖postRegister方法,您可以改变工作流程。所以我的AuthController看起来像这样:

 class AuthController extends Controller {
   ...
   protected function create(array $data) {
   }

   public function postRegister(Request $request) {
     $validator = $this->validator($request->all());
     if ($validator->fails()) {
        $this->throwValidationException(
            $request, $validator
        );
     }
     $this->create($request->all());
     return redirect($this->redirectPath());
   }
 }

但是,我的postRegister方法似乎被忽略了。我哪里错了?

1 个答案:

答案 0 :(得分:5)

您需要覆盖注册功能

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

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

        // Removed to prevent auto login
        //Auth::guard($this->getGuard())->login($this->create($request->all()));
        $this->create($request->all());


        return redirect($this->redirectPath());
    }