2016-05-15 8 views
3

Ich bin ziemlich neu bei Laravel 5.2. Im Moment versuche ich eine benutzerdefinierte Anmeldung zu erstellen. Ich habe den Login-HTML erstellt. Und auf einreichen, zeigt die Funktion FehlerLaravel 5.2 Fehler App Benutzer kann Illuminate Foundation Auth User nicht verwenden - es ist kein Merkmal

App \ User nicht Illuminate \ Foundation \ Auth \ Benutzer verwenden können - es ist nicht eine Eigenschaft ist

konnte ich nicht finden, was der Fehler ist. Die Codes sind unter

routes.php

Route::post('/', 'Admin\[email protected]'); 

LoginController.php

<?php 

namespace App\Http\Controllers\Admin; 

use App\Http\Controllers\Controller; 

use Auth; 
use Request; 


class LoginController extends Controller { 

public function index() { 
    return view('admin.login'); 
} 

public function register() { 
    return view('admin.register'); 
} 

public function postLogin() { 
    $email = Request::input('email'); 
    $password = Request::input('password'); 

    if (Auth::attempt(['email' => $email, 'password' => $password])) { 
     //echo "success"; 
     return redirect('admin/dashboard'); 
    } else { 
     return redirect('/'); 
    } 
} 

} 

User.php

<?php 

namespace App; 

use Illuminate\Foundation\Auth\User as Authenticatable; 
use Illuminate\Auth\Authenticatable; 
use Illuminate\Database\Eloquent\Model; 
use Illuminate\Auth\Passwords\CanResetPassword; 
use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract; 
use Illuminate\Contracts\Auth\CanResetPassword as CanResetPasswordContract; 

class User extends Model implements AuthenticatableContract, CanResetPasswordContract { 

use Authenticatable, 
    CanResetPassword; 

protected $table = 'users'; 
protected $fillable = ['name', 'email', 'password']; 
protected $hidden = ['keyword', 'remember_token']; 

} 

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' => 'eloquent', 
     'model' => 'App\User', 
     'table' => 'users', 
     'password' => [ 
      'email' => 'emails.password', 
      'expire' => 60, 
     ], 
    ], 
], 

'passwords' => [ 
    'users' => [ 
     'provider' => 'users', 
     'email' => 'auth.emails.password', 
     'table' => 'password_resets', 
     'expire' => 60, 
    ], 
], 
]; 

Ich verfolge das Tutorial von here

Bitte helfen Sie mir. Ich bin hier von den letzten paar Stunden stecken

Antwort

8

Sie diesen Namensraum verwenden sollten:

use Illuminate\Auth\Authenticatable; 

Es ist ein Merkmal Sie verwenden sollten. Jetzt versuchen Sie, eine Klasse als Merkmal zu verwenden:

use Illuminate\Foundation\Auth\User as Authenticatable; 

class User { 

    use Authenticatable ... 
+0

Danke. Aber jetzt zeigt es den Fehler 'Illuminate \ Auth \ Authenticatable kann nicht als authentifizierbar verwendet werden, da der Name bereits verwendet wird ' – Arun

+0

Können Sie bitte den gesamten aktuellen Code zeigen (' namespace, class, use 'part). –

+0

Ich habe die notwendigen Codes geschrieben, denke ich. Welche müssen alle zeigen? – Arun

Verwandte Themen