为什么我的'/ home'路由只能由经过身份验证的用户访问?

时间:2018-01-02 15:25:06

标签: laravel

所以我有一个家庭路线('/'或'/ home'),由于某种原因,这条路线只能为登录用户访问。

我没有将此路由设置为仅供认证用户使用,因此我不知道为什么它会像这样工作。

路线如下:

Route::get('/home', 'HomeController@index')->name('home');
Route::get('/', 'HomeController@index')->name('home');

应用程序中有一些路由应该只由注册用户访问。在他们的情况下,我将其添加到路线:middleware('auth')

有没有人知道为什么我的家乡路线需要认证?

1 个答案:

答案 0 :(得分:3)

检查控制器构造函数并删除那里的中间件。仅在不在控制器上的路由上使用Auth中间件。

您的 HomeController 可能会对其构造函数方法进行Auth中间件检查。

你的构造函数应该像:

private async void button1_Click(object sender, EventArgs e)
{
    var list = new List<MyClass>();
    using (var webClient = new System.Net.WebClient())
    {
        foreach (var url in this.textBox1.Lines)
        {
            var content = await webClient.DownloadStringTaskAsync(url);
            var myClass = Newtonsoft.Json.JsonConvert.DeserializeObject<MyClass>(content);
            list.Add(myClass);
        }
    }
    this.dataGridView1.DataSource = list;
}

在路径文件中创建路由组,并在那里指定auth中间件。