2015-03-06 10 views
6

Sto iniziando a scoprire Laravel 5, quindi potrei aver bisogno di un po 'del tuo aiuto per capire alcune cose.Autenticazione personalizzata Laravel

Innanzitutto, desidero sviluppare una pagina di accesso. Sembra che Laravel abbia un intero sistema di autenticazione, e credo che dovrei usarlo.

Tuttavia, voglio visualizzare una pagina di accesso (so come farlo!), Ma dopo questo, vorrei inviare le credenziali a un server tramite una chiamata API. Il server mi dirà quindi se l'utente è autorizzato ad accedere o meno.

Per quanto mi risulta Laravel e l'autenticazione, sembra che il sistema di autenticazione funzioni solo con un DB locale.

Puoi confermare che è necessario utilizzare un driver di autenticazione personalizzato per farlo? Ho seguito this solution ma ottengo questo errore durante il caricamento la mia pagina:

FatalErrorException in CustomUserProvider.php line 6: 
Interface 'Illuminate\Auth\UserProviderInterface' not found 

Qualsiasi aiuto sarebbe apprezzato, sentitevi liberi di chiedere ulteriori informazioni se ne avete bisogno.

Grazie

+0

È necessario utilizzare un driver di autenticazione personalizzato. Penso che nell'attuale versione di Laravel 5 l'interfaccia sia 'Illuminate \ Contracts \ Auth \ UserProvider'. – kylehyde215

risposta

6

ho provato seguendo lo stesso filo lei ha citato e arrivati ​​agli stessi risultati. Poi ho controllato l'attuazione di UserProviders native (Illuminate/Auth/EloquentUserProvider e Illuminate/Auth/DatabaseUserProvider) e finito per usare lo stesso set come in EloquentUserProvider:

<?php namespace App\Auth; 

use Illuminate\Contracts\Auth\UserProvider; 
use Illuminate\Contracts\Hashing\Hasher as HasherContract; 
use Illuminate\Contracts\Auth\Authenticatable as UserContract; 

class MyUserProvider implements UserProvider { 
    // Implementation goes here 
} 

Credo che questo sia l'approccio più corretto, come i suggerimenti dal thread del forum sembra possibilmente per una versione precedente/beta di L5.

2

Ecco il mio file CustomUserProvider:

<?php namespace App\Auth; 

use Illuminate\Contracts\Auth\UserProvider as UserProviderInterface; 
use Illuminate\Contracts\Auth\Authenticatable; 
use Illuminate\Auth\GenericUser; 

class CustomUserProvider implements UserProviderInterface { 

Sta ora lavorando :-)

Problemi correlati