如何在Laravel 5.6中禁用新用户注册。

12 浏览
0 Comments

如何在Laravel 5.6中禁用新用户注册。

我使用laravel 5.6 \n我想要禁用新用户的注册,当然登录表单必须正常工作\n我看到下面的问题:\n

https://stackoverflow.com/questions/29183348/how-to-disable-registration-new-user-in-laravel-5

\n但我在以下路径的Auth/RegisterController.php文件中没有找到showRegistrationForm()函数。

0
0 Comments

Laravel 5.6中如何禁用用户注册功能

在Laravel 5.6中禁用用户注册功能的原因是由于使用了错误的中间件,应该使用'guest'中间件而不是'auth'中间件。通过将以下代码从RegisterUser.php复制到Register控制器并使用面向对象的重写方法,可以重新启用注册功能。

代码如下:

$this->middleware('auth');

改为:

$this->middleware('guest');

并且可以通过将以下代码从RegisterUser.php复制到Register控制器中来再次使用注册功能:

public function register(Request $request)
{
    $this->validator($request->all())->validate();
    event(new Registered($user = $this->create($request->all())));
    $this->guard()->login($user);
    return $this->registered($request, $user)
                    ?: redirect($this->redirectPath());
}

通过上述方法,您可以解决在Laravel 5.6中禁用用户注册功能的问题。

0
0 Comments

问题原因:在Laravel 5.6中,使用了错误的中间件来禁用新用户注册功能。

解决方法:将中间件auth用于RegisterController,而不是使用guest中间件。

在RegisterController中使用auth中间件的代码如下:

$this->middleware('auth');

而不是使用guest中间件的代码如下:

$this->middleware('guest');

0
0 Comments

在Laravel 5.6中,如何禁用新用户注册?

在routes/web.php中进行如下设置:

Auth::routes(['register' => false]);

这个方法对我有效。

值得一提的是,在Laravel 5.7文档中已经添加了有关如何使用这种方法禁用注册的说明。你可以在laravel.com/docs/5.7/authentication#included-routing上找到相关信息。

0