首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel Middleware Auth组不工作

Laravel Middleware Auth组不工作
EN

Stack Overflow用户
提问于 2020-09-01 16:03:50
回答 2查看 284关注 0票数 0

日安。我的身份验证出现了问题,我总是将其重新定向到登录页面。当我用下面的代码添加routes/web.php时,我发现

代码语言:javascript
复制
Route::group(['middleware' => 'auth'], function() {

}

该页面始终被重定向回登录页面。但是当我删除上面的代码时,我就可以进入主页了。我想知道如何解决这个问题。我在过去的项目中使用了路由组,我对此没有任何问题。

更新:我使用了php artisan测试并重新修改了我的ExampleTest.php代码。

代码语言:javascript
复制
<?php

namespace Tests\Unit;

use PHPUnit\Framework\TestCase;
use App\User;

class ExampleTest extends TestCase
{
    /**
     * A basic test example.
     *
     * @return void
     */
    public function testBasicTest()
    {
        $this->assertTrue(true);
    }

    public function testApplication()
    {
        $user = factory(User::class)->create();

        $response = $this->actingAs($user)
                         ->withSession(['foo' => 'bar'])
                         ->get('/');
    }
}

以下是结果

代码语言:javascript
复制
C:\xampp\htdocs\nuadu_helpdesk\vendor\laravel\framework\src\Illuminate\Database\Eloquent\FactoryBuilder.php:273
    269|      */
    270|     protected function getRawAttributes(array $attributes = [])
    271|     {
    272|         if (! isset($this->definitions[$this->class])) {
  > 273|             throw new InvalidArgumentException("Unable to locate factory for [{$this->class}].");
    274|         }
    275|
    276|         $definition = call_user_func(
    277|             $this->definitions[$this->class],

  1   C:\xampp\htdocs\nuadu_helpdesk\vendor\laravel\framework\src\Illuminate\Database\Eloquent\FactoryBuilder.php:296
      Illuminate\Database\Eloquent\FactoryBuilder::getRawAttributes([])

  2   C:\xampp\htdocs\nuadu_helpdesk\vendor\laravel\framework\src\Illuminate\Database\Eloquent\Concerns\GuardsAttributes.php:155
      Illuminate\Database\Eloquent\FactoryBuilder::Illuminate\Database\Eloquent\{closure}()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-09-07 11:04:10

我发现了我的问题。我使用auth和dd进行了检查。我在user_id中使用了不同的主键,它是一个字符串类型。我忘记在我的user.php中声明它

代码语言:javascript
复制
protected $primaryKey = 'user_id';
protected $keyType = 'string';
public $incrementing = false;

默认情况下,主键始终是id。如果你声明了一个不同的列名作为你的主键,别忘了声明我上面提到的代码,否则你就不能读取auth或者不能登录了。

票数 0
EN

Stack Overflow用户

发布于 2020-09-03 23:48:53

在routes.php文件中,您不能写入要重定向的位置。所以请像下面这样添加..

代码语言:javascript
复制
Route::group(['middleware' => 'auth'], function() {
  return redirect('/');  //by default you can change it as your requirments.
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63683649

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档