laravel 中的 Auth::login($user) 无法登录用户

2024-03-16

我在用拉拉维尔 5.4 and 验证::登录($用户)显示类型错误:

传递给 Illuminate\Auth\SessionGuard::login() 的参数 1 必须 实现接口 Illuminate\Contracts\Auth\Authenticatable, 给出的 Illuminate\Database\Eloquent\Builder 实例,在中调用 /home/vendor/laravel/framework/src/Illuminate/Auth/AuthManager.php 上 第294行

我的 User.php 文件是:

namespace App;

use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
 * The attributes that are mass assignable.
 *
 * @var array
 */
protected $fillable = [
    'name', 'email', 'role', 'password',
];

/**
 * The attributes that should be hidden for arrays.
 *
 * @var array
 */
protected $hidden = [
    'password', 'remember_token',
];
}

我的 AuthController.php 是:

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\User;
use Auth;
use Illuminate\Support\Facades\Input;
use \Hash;

class AuthController extends Controller
{
//
public function register(Request $request){
    $this->validate($request, [
        'name' => 'required|max:30',
        'email' => 'required|email|unique:users',
        'regpassword' => 'required|alpha_num|confirmed'
        ]);

    /*$user = new User();
    $user['name'] = $request['name'];
    $user['email'] = $request['email'];
    $user['password'] = bcrypt($request['password']);
    $user['role'] = 'user';
    $user->save();
    */
    $user = User::create(array(
        'email' => Input::get('email'),
        'name' => Input::get('name'),
        'password' => Hash::make(Input::get('password')),
        'role' => 'user'));
    return 'success';


 }

public function userLogin(Request $request){
    $this->validate($request,[
        'email' => 'required|email',
        'password' => 'required' 
        ]);

    $user = User::where('email', '=', $request['email'])-> where('password' ,'=', Hash::make($request['password']))->where('role','=','user');                                                    

    if($user){
        Auth::login($user); 
        return $next($request);
    }
    else{
        return redirect()->back();
    }


}
}

我的 web.php

Route::get('/', function () {
return view('welcome');
});

Auth::routes();

Route::get('/home', 'HomeController@index');
Route::post('/register', 'AuthController@register');
Route::post('/UserLogin','AuthController@userLogin');

你的问题是这样的:

$user = User::where('email', '=', $request['email'])-> where('password' ,'=', Hash::make($request['password']))->where('role','=','user');

缺少从查询中获取结果集的调用。添加->first().

它说的是:

您给了我一个查询生成器的实例

But

我想要一个扩展可验证类的模型

如果你打开App\User,你会发现它确实扩展了这个类:

class User extends Authenticatable {
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

laravel 中的 Auth::login($user) 无法登录用户 的相关文章

随机推荐

  • DRF 序列化器中多个查找字段的自定义超链接 URL 字段

    我在用Django 休息框架 http www django rest framework org 用于为我的项目开发 Web api 在我的项目中 我需要构建嵌套 api 的端点 如下所示 users to get all users u
  • DICOM 图像中引用的图像序列中的[引用的 SOP 类/实例 UID] 是什么?

    我正在使用 fo dicom 库开发模态工作列表客户端 我不清楚以下与 有关的事情Referenced SOP Instance UID 0008 1155 什么是引用的 SOP 实例 UID 整个系列的参考 SOP 实例 UID 是否相同
  • 将密码迁移到 Devise

    我正在将用户数据库从 PHP 迁移到 Rails 我已经安装了 Devise Gem 现在运行良好 另外 我还发现了如何将现有用户的密码迁移到 Rails 的提示 我已将旧密码添加到相同的密码中encrypted passwordDevis
  • Android Marshmallow 6.0.1 蓝牙扫描未返回结果

    根据 Kitkat 4 4 4 的 update appCompat 使用以下代码和权限 6 01 中的蓝牙似乎无法按预期工作 没有返回任何结果 并且我附近有几个可发现的设备 有人对为什么有任何见解吗 我在 Nexus 5 上运行
  • python -正则表达式匹配单词列表

    我有一个 python 脚本 其中大约有 100 个正则表达式行 每行匹配某些单词 显然 该脚本每次运行时都会消耗高达 100 的 cpu 我基本上向它传递了一个句子 它会返回找到的任何匹配的单词 我想将它们组合成大约 4 或 5 个不同的
  • PHPUnit - getallheaders 不起作用

    我正在测试我的代码 并且标头有一些问题 在我使用的每个 api 中 headers getallheaders 为了实现这一点 当我使用应用程序或 chrome postman 扩展进行测试时 效果很好 当我启动测试时 像这样 client
  • 动态设置onclick并传入元素本身来访问innerHTML

    我正在动态创建一些 div 元素 然后填充它们innerHTML带有文本的属性 我正在尝试设置他们onclick事件处理程序如下 myDiv onclick function alert Hello 我能做到的 我想做的是能够访问新定义的值
  • 外键约束失败

    我在 php 和 mysql 方面相对较新 在我的值中插入值时我面临的问题leave表 我的leave包含以下列的表 1 lid INT主键 2 empname varchar 3 用户名 varchar 4 点头 INT 5 sdate
  • 使用设备构建时,Monotouch 在 LINQ 查询上崩溃

    这是我得到的错误 mscorlib 在使用 aot only 运行时尝试 JIT 编译方法 System Linq OrderedEnumerable 1 GetEnumerator 从我读到的内容看来 编译器在本例中不包含 GetEnum
  • 带有 CSV 文件的 azure Terraform 参数

    我正在尝试使用 CSV 文件访问 terraform 变量数据 创建资源组并将资源组的名称添加到 CSV 文件中并尝试访问代码 这是代码 locals Resource groupname csvdecode file path modul
  • 如何将垂直线的表格图像分成三张图像?

    我想将垂直线上的表格图像分成三个图像 如下所示 是否可以 每列的宽度是可变的 可悲的是 如您所见 左侧垂直线是从标题向下绘制的 输入图像 input png 输出图像 output1 png 输出图像 output2 png 输出图像 ou
  • 如何学习阿格达

    我正在努力学习agda 但是 我遇到了一个问题 我在 agda wiki 上找到的所有教程对我来说都太复杂了 并且涵盖了编程的不同方面 在并行阅读了 3 个关于 agda 的教程后 我能够编写简单的证明 但我仍然没有足够的知识来使用它来实现
  • 调用随机函数 Javascript,但不能调用同一函数两次

    我使用一个随机选择另一个有效函数的函数 但有时它会连续运行相同的函数两次甚至更频繁 有办法防止这种情况吗 我当前的代码 window setInterval function var arr func1 func2 func3 rand M
  • Node.js - 异步模块加载

    是否可以异步加载 Node js 模块 这是标准代码 var foo require foo js waiting for I O foo bar 但我想写这样的东西 require foo js function foo foo bar
  • 如何以编程方式获取 Google Cloud 定价详细信息?

    谁能告诉我如何以编程方式从 Google Cloud 网站获取 Google Cloud 定价详细信息 例如 Google Compute Engine Google Cloud Storage Google Cloud SQL 等的定价
  • Android 中的多屏幕 xml

    我正在开发2 2版本的android xml是根据这个版本设计的 模拟器规格 2 2版 内置 HVGA 内存 1024 现在我需要将此应用程序转换为4 0版本的三星galaxy s3 但屏幕非常拉伸 看起来不太好 如果有任何帮助 请提前致谢
  • Cloudinary - 上传预设必须位于未签名上传的白名单中

    我想将图像上传到 Cloudinary 使用 cordova 相机插件直接从 Ionic 中的相机拍摄 我收到代码 1 的错误 并显示消息 上传预设必须位于未签名上传的白名单中 如何解决这个错误 请帮忙 我编辑的js代码是 scope ca
  • 打印词性以及单词的同义词

    我有以下代码 用于从输入文本文件中获取单词并使用 WordNet 打印该单词的同义词 定义和例句 它根据词性将同义词与同义词集分开 即动词的同义词和形容词的同义词分别打印 例如 flabbergasted 一词的同义词有 1 flabber
  • Junit - Spring boot:测试时@Value始终为null

    有一个 Value注释的常量 在运行测试时没有被初始化 当构造函数中需要它时 它会抛出NullPointerException 要测试的示例类 class TestClass Value test value1 private String
  • laravel 中的 Auth::login($user) 无法登录用户

    我在用拉拉维尔 5 4 and 验证 登录 用户 显示类型错误 传递给 Illuminate Auth SessionGuard login 的参数 1 必须 实现接口 Illuminate Contracts Auth Authentic