尝试在Laravel 5.2中进行手动身份验证时出现奇怪的错误

艾哈迈德·埃萨姆(Ahmed Essam)

我是Laravel 5.2的新手,所以现在我正在尝试手动身份验证,但出现此错误:

1/1
ErrorException in EloquentUserProvider.php line 114:
Argument 1 passed to Illuminate\Auth\EloquentUserProvider::validateCredentials() must be an instance of Illuminate\Contracts\Auth\Authenticatable, instance of App\User given, called in C:\xampp\htdocs\myblog\vendor\laravel\framework\src\Illuminate\Auth\SessionGuard.php on line 378 and defined

这是我的表格:

<form method="post" action='login'>
                {!! csrf_field() !!}
                    <div class="form-group">
                    <label for="username">Username</label>
                    <input name="username" placeholder="Your name" class="form-control">
                    </div>

                    <div class="form-group">
                    <label for="password">Password</label>
                    <input name="password" class="form-control">
                    </div>

                    <div class="form-group">
                    <button class="btn btn-primary" type="submit">Login</button>
                    </div>

                </form>

这是我的路线:

Route::post('login', 'ProfilesController@login');

这是我的登录方法:

public function login(Request $request){

        if (Auth::attempt(['username' => $request->username, 'password' => $request->password])) {
            // Authentication passed...
            return redirect()->intended();
        }else{
            return "Something went wrong";
        }

    }

我的表是'users',并且具有'username'和'password'有任何想法如何解决吗?注意:我添加了使用Auth; 在我的控制器顶部

杰夫·兰伯特

您的App\User班级必须执行Illuminate\Contracts\Auth\Authenticable合同。这是因为存储库方法具有这种类型的提示。默认的用户实现(至少现在是5.2)是通过扩展间接实现的Illuminate\Foundation\Auth\User

您可以在身份验证Authenticable文档条目中找到有关合同的信息在该链接中,合同如下所示:

namespace Illuminate\Contracts\Auth;

interface Authenticatable {

    public function getAuthIdentifierName();
    public function getAuthIdentifier();
    public function getAuthPassword();
    public function getRememberToken();
    public function setRememberToken($value);
    public function getRememberTokenName();

}

幸运的是,Laravel提供了一个特质,Illuminate\Auth\Authenticable为您提供了许多此类功能,因此,要满足此错误use您需要做的就是该特质,您可以使用与默认Laravel 5.2相同的方法(通过继承相同的方法)班级):

<?php namespace App;

use Illuminate\Foundation\Auth\User as Authenticable;

class User extends Authenticable
{
    // ...
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尝试在Laravel 5.2中进行手动身份验证时出现奇怪的错误

来自分类Dev

Laravel 5 自定义身份验证尝试

来自分类Dev

在Laravel 5中进行身份验证后重定向

来自分类Dev

laravel 5:路由身份验证错误

来自分类Dev

Laravel 5身份验证错误

来自分类Dev

尝试在laravel 5中配置子域时出错

来自分类Dev

在React中尝试对Harvest API进行身份验证时出现错误请求(400)

来自分类Dev

尝试使电子邮件在Laravel 5中工作

来自分类Dev

如何从Laravel 5中的cookie手动验证用户身份?

来自分类Dev

尝试在我的网站中进行身份验证时如何避免此Facebook错误?

来自分类Dev

尝试进行身份验证以进行数据抓取时出现Cookie错误

来自分类Dev

尝试使用Auth0对用户进行身份验证时出现CORS错误

来自分类Dev

尝试通过jwt进行身份验证时出现Docusign错误“需要同意”

来自分类Dev

尝试使用 reddit api 和 python 3 进行身份验证时出现 401 错误

来自分类Dev

尝试使用Firebase身份验证时出现错误

来自分类Dev

在Laravel 5中使用多个身份验证防护时的重定向循环

来自分类Dev

在Laravel 5中使用多个身份验证防护时的重定向循环

来自分类Dev

Laravel 5身份验证器

来自分类Dev

AngularJS + Laravel 5身份验证

来自分类Dev

laravel 5的CKFinder身份验证问题

来自分类Dev

主页上的Laravel 5身份验证

来自分类Dev

Laravel 5注册身份验证

来自分类Dev

Laravel 5身份验证器

来自分类Dev

Laravel 5管理面板身份验证

来自分类Dev

laravel 5的CKFinder身份验证问题

来自分类Dev

Laravel 5身份验证如何工作?

来自分类Dev

Laravel 5身份验证问题

来自分类Dev

创建身份验证laravel 5

来自分类Dev

尝试通过Composer安装Laravel 5时发生PHP致命错误

Related 相关文章

热门标签

归档