当前位置: 首页 > 知识库问答 >
问题:

无法使用Laravel的身份验证

龚承嗣
2023-03-14

我正在尝试配置laravel的auth以适合我的db。但无论我做什么,都会覆盖像protected$table='my_table'这样的属性公共函数username(){return'email\u user'}在LoginController中,它忽略所有内容。有人知道如何用不同的数据库参数化laravel的身份吗?

以下是我在LoginController中更改的内容:

public function username()
{
    return 'email_user';
}

在用户模型中:

protected $table = "pays";
protected $primaryKey = "id_user";

public function getAuthPassword() { 
    return $this->password_user; 
}

/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = [
    'name_user', 'surname_user', 'email_user', 'password_user', 'sex_user', 'birth_user', 'address_user', 
    'city_user', 'pc_user', 'phone_user', 'pic_user', 'status_user', 'license_user', 'urssaf_user', 
    'remember_token', 'created_at', 'updated_at',
];

编辑:config/auth.php:

<?php

return [

'defaults' => [
    'guard' => 'web',
    'passwords' => 'users',
],

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
    ],
],


'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\User::class,
    ],

    // 'users' => [
    //     'driver' => 'database',
    //     'table' => 'users',
    // ],
],




'passwords' => [
    'users' => [
        'provider' => 'users',
        'table' => 'password_resets',
        'expire' => 60,
    ],
],

]; LoginController:

<?php

名称空间App\Http\Controllers\Auth;

使用App\Http\Controller\Controller;使用Illumate\Foundation\Auth\身份验证用户;

类LoginController扩展控制器{/*|---------------------------------------------------------------------------------------------------登录控制器|---------------------------------------------------------------------------------------------------------此控制器处理对应用程序的用户进行身份验证并将其重定向到主屏幕。控制器使用特征|方便地提供其功能您的应用程序的可选性*/

use AuthenticatesUsers;

/**
 * Where to redirect users after login.
 *
 * @var string
 */
protected $redirectTo = '/home';

/**
 * Create a new controller instance.
 *
 * @return void
 */
public function __construct()
{
    $this->middleware('guest')->except('logout');
}

public function username()
{
    return 'email_user';
}
}

共有1个答案

董良策
2023-03-14

在您的登录表单中,将密码字段保留为name=password

<input type="text" name="email_user">

<input type="password" name="password">
 类似资料:
  • 我使用下面的文章在我的laravel项目中创建JWT身份验证。但是现在我不能再使用Basic身份验证了。有没有办法使用基本身份验证?我需要它为我的网络界面。 https://scotch.io/tutorials/token-based-authentication-for-angularjs-and-laravel-apps Route::get('auth/login','Auth\AuthC

  • 我试着用laravel做一个登录/注册的简单应用。。。我目前使用的是5.2版本的laravel。 在路线上,我写道: 所以现在当我尝试注册用户在localhost:8888/auth/register-我填写字段,但当我点击注册然后我得到错误消息: 用户中的FatalErrorException。php第8行:找不到类“lightlight\Foundation\Auth\User” 那么我如何在

  • 我试图建立一个认证系统与Laravel 4与Facebook登录。我正在使用Laravel 4的madewith love/laravel-oAuth2包。 当然,当用户登录Facebook时,没有密码可以添加到我的数据库中。但是,我正在尝试检查数据库中是否已经有用户id,以确定是否应该创建一个新实体,或者只是登录当前实体。我想使用Auth命令来实现这一点。我有一张叫做“粉丝”的桌子。 这就是我正

  • Laravel框架 我正在尝试将默认用户名验证检查从“email”更改为“id”,因此我将username()方法放在用户模型文件中以覆盖默认的username方法 这对我不起作用。除非我从laravel供应商文件Illumb\Foundation\Auth\AuthenticatesUsers中更改它。php 登录现在正在工作,但当我运行composer update时,文件将返回默认值,因此我

  • 我想构建一个API路由,经过身份验证的用户和未经身份验证的用户都可以调用该路由,并根据用户是否经过身份验证返回数据。 我卡在使用身份验证::检查()。 控制器的功能是这样的: 我最后有两个场景: 情景1 在这种情况下,在控制器中,当我检查Auth::check()在if条件内时,无论用户是否经过身份验证,我总是得到错误条件。 方案 2 在这种情况下,在控制器中,当我检查Auth::check()时

  • 我试图建立一个简单的iOS /Rails应用程序,在那里我可以创建一个用户,然后使用BCrypt对他们进行身份验证。我试图按照BCrypt的说明进行操作,但我的身份验证过程不起作用。非常新的轨道,所以我肯定我搞砸了一些简单的事情! 要创建新用户,请执行以下操作: 在users_controller.rb 在user.rb 在服务器上: 在2014-08-21 19:32:05-0500开始POST