laravel 5.2认证失败


laravel 5.2 Authentication Failure

大家好,我是laravel的新手。当新用户注册与身份验证我是这个错误消息。如何解决我的问题身份验证失败,有此错误消息。

Illuminate'Auth'SessionGuard::login() must be an instance of Illuminate'Contracts'Auth'Authenticatable, instance of App'customer given.

控制器是

    public function store(Request $request)
    {
        $user = new customer;
        $user->name=Input::get('name');
        $user->email=Input::get('email');
        $user->password=Input::get('password');
        $user->save();
        Auth::login($user);
        return redirect::home();
    }

和我的路线

        Route::get('register', 'testing@index');
        Route::post('store', 'testing@store');
        Route::get('login', 'testing@create');
        Route::post('logout', 'testing@destroy');

和我的注册页是

<form action="store" method="post">
        <label for="name">Name</label>
        <input type="text" name="name" autocomplete="off">
        <br>
        <label for="email">Email</label>
        <input type="text" name="email" autocomplete="off">
        <br>
        <label for="password">Password</label>
        <input type="text" name="password" autocomplete="off">
        <br>
        <input type="hidden" name="_token" value="{{csrf_token()}}">
        <br>
        <input type="submit" name="submit" value="Submit">
</form>

请帮助我的家伙如何注册,登录和注销完整的认证。

谢谢,欢迎多提建议

在不知道你的实际客户模型的情况下,我尽量给你最匹配的答案。

如果你是一个非常新的laravel的最佳方法列表使用

php artisan make:auth

创建:

    <
  • 家庭视图/gh><
  • 应用程序布局/gh><
  • 认证路线/gh><
  • Auth控制器/gh>
  • 密码重置

这将为您完成,使用默认的,已经存在的,App'User模型。如果你不想使用默认的App' user,而你想使用App'Customer进行身份验证,那么你至少需要让你的模型扩展Authenticable

use Illuminate'Foundation'Auth'User as Authenticatable;
class Customer extends Authenticatable
{
...
}

如果没有这个,您肯定会收到给定的错误。但是,您仍然需要确保客户模型上有必需的字段,如电子邮件、密码、记忆令牌等。如果您不想使用这些,则需要在身份验证控制器中进行进一步的调整。

如前所述,初学者的最佳方法是使用生成的授权。你可以在这里找到更多信息:https://laravel.com/docs/5.2/authentication

Be careful - php artisan make:auth将创建一些视图,它将覆盖已有的同名视图。

  • /资源/视图/home.blade.php
  • /资源/视图/布局/app.blade.php
  • /资源/视图/认证/login.blade.php
  • /资源/视图/认证/register.blade.php

和auth

中的一些

看看你的代码,你可以简单地尝试替换

$user = new customer;

$user = new User

和拉入用户模型

use App'User;