在Laravel 5.8中覆盖默认的Auth路由。

13 浏览
0 Comments

在Laravel 5.8中覆盖默认的Auth路由。

我在我的web.php中使用默认的auth路由。\n这些路由是从`Illuminate/Routing/Router.php\'复制过来的。\n我使用这个来改变默认路由等在web.php中。\n

Route::group([], function (){
    // 认证路由...
    $this->get('login', 'Auth\LoginController@showLoginForm')->name('login');
    $this->post('login', 'Auth\LoginController@login');
    $this->post('logout', 'Auth\LoginController@logout')->name('logout');
    // 注册路由...
    if ($options['register'] ?? true) {
        $this->get('register', 'Auth\RegisterController@showRegistrationForm')->name('register');
        $this->post('register', 'Auth\RegisterController@register');
    }
    // 密码重置路由...
    if ($options['reset'] ?? true) {
        $this->resetPassword();
    }
    // 邮箱验证路由...
    if ($options['verify'] ?? false) {
        $this->emailVerification();
    }
});

\n$options[]是什么?\n我应该在我的路由组中定义它吗?\n谢谢帮助。

0
0 Comments

Laravel 5.8默认提供了一组用于身份验证的路由(Auth routes)。然而,有时候我们可能需要根据自己的需求进行修改,因此需要重写(Override)默认的身份验证路由。下面我们将讨论为什么需要重写默认路由以及如何解决这个问题。

首先,我们来看一下为什么需要重写默认的身份验证路由。有些开发者可能认为默认提供的路由不符合他们的需求,因此希望能够根据自己的控制器(controllers)来实现自定义的路由。这样可以更好地满足项目的要求,并且能够更好地控制身份验证逻辑。

解决这个问题的方法非常简单。我们只需要在web.php文件中移除Auth::routes(),然后根据自己的需求实现自定义的路由即可。这样我们就可以根据自己的控制器来定义身份验证相关的路由,从而更好地满足项目的要求。

总结起来,重写默认的身份验证路由是为了更好地满足项目需求,并且能够根据自己的控制器来实现自定义的身份验证逻辑。通过移除Auth::routes(),我们可以自由地定义自己的身份验证路由,从而更好地控制身份验证流程。

0
0 Comments

在Laravel 5.8中,我们可以使用$options数组来配置默认的身份验证路由。这个数组用于指定是否启用或禁用用户注册、密码重置和电子邮件验证等功能。

但是,有个用户在提问中问到了一个问题:"在我的路由组中应该在哪里定义它?"

首先,让我们来看看如何重写默认的身份验证路由。要重写默认的身份验证路由,我们可以使用Auth::routes()方法,并通过传递一个数组来配置选项。在这个数组中,我们可以设置'register''reset''verify'等选项来启用或禁用相应的功能。

现在,回到用户的问题,他想知道应该在路由组中的哪里定义这个$options数组。

在Laravel中,路由组是用来分组和管理一组相关的路由的。我们可以通过在Route::group()方法中传递一个闭包函数来定义路由组。在这个闭包函数中,我们可以定义路由组的各种配置,包括中间件、命名空间、前缀等。

所以,要在路由组中定义$options数组,我们可以在Route::group()方法中的闭包函数中使用$options变量。具体来说,我们可以这样做:

Route::group(['middleware' => 'auth'], function () use ($options) {
    // 在这里使用 $options 变量
});

在上面的代码中,我们使用了use ($options)来将$options变量传递到闭包函数中。

这样,我们就可以在路由组中使用$options数组来配置我们的身份验证路由了。通过在闭包函数中使用$options变量,我们可以根据需要启用或禁用用户注册、密码重置和电子邮件验证等功能。

希望这篇文章对你理解如何在Laravel 5.8中重写默认身份验证路由并在路由组中定义$options数组有所帮助。如果你有任何问题,请随时提问。

0
0 Comments

在Laravel 5.8中,有一个名为"Override default Auth routes in Laravel 5.8"的问题。这个问题的出现原因是在Illuminate/Routing/Router.php中的方法被错误地复制了。通常情况下,应该使用Auth Facade来调用这个方法,像这样:Auth::routes($options);。这会调用route()方法,并且应该在路由文件中完成,通常是web.php,如果你没有对其做任何更改的话。

这样,选项确实会被考虑进去。现在,在你的情况下,不需要一个可选的$options数组,因为你硬复制了这些路由。

为了避免路由文件中的任何错误,你有两个选择:

1)使用Auth::routes()(如果需要,可以使用选项数组)。当然,你可以覆盖你想要更改的路由。

2)深入了解emailVerificationresetPassword方法,以便复制/粘贴它们所引用的路由,并在你的路由文件中删除对$this$options的任何引用。

感谢你的回答,帮助解决了我的问题。

0