Php 为什么在Laravel AuthController中重写后寄存器不起作用?
我正在调整Laravel 5.2中开箱即用的AuthController,以满足我的需要。注册新用户时,不希望新用户自动登录。我已经读到,通过重写AuthController中的RedirectsUsers特性中的postrester方法,可以改变工作流程。因此,我的AuthController如下所示:Php 为什么在Laravel AuthController中重写后寄存器不起作用?,php,laravel,authentication,overriding,Php,Laravel,Authentication,Overriding,我正在调整Laravel 5.2中开箱即用的AuthController,以满足我的需要。注册新用户时,不希望新用户自动登录。我已经读到,通过重写AuthController中的RedirectsUsers特性中的postrester方法,可以改变工作流程。因此,我的AuthController如下所示: class AuthController extends Controller { ... protected function create(array $data) {
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方法似乎被忽略了。我哪里出错了?您需要覆盖寄存器函数
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());
}
正如下面的答案所示,默认身份验证不会创建到
postRegister
的路由,而是创建到register
的路由php artisan route:list
查看路由指向的方法。谢谢你,Celik这确实覆盖了(应该检查路由列表)。我覆盖了postRegister()
,浪费了3个小时,直到我看到你的答案我也在做同样的事情:)