Sto utilizzando l'autenticazione HTTP di base fornita in Laravel per accedere al mio sito web. Tuttavia, quando chiamo Auth::Check()
ottengo sempre falsa come la risposta, anche se sono entrato.Laravel Basic HTTP Auth Controlla Restituzione di False
Vuol Auth::Check()
non funziona con il modello di autenticazione di base e se non, c'è un modo per controllare l'autenticazione di base per vedere se un utente è loggato?
Questa è la mia classe di utente:
namespace App;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'email', 'password',
];
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
public function getRememberToken()
{
return $this->remember_token;
}
public function setRememberToken($value)
{
$this->remember_token = $value;
}
public function getRememberTokenName()
{
return 'remember_token';
}
}
Questo è il segmento di codice in cui ho impostato il filtro di autenticazione da utilizzare
$this->middleware('auth.basic', ['only' => ['create', 'store', 'edit', 'update', 'destroy']]);
E questo è il mio Auth::Check()
chiamata (stampa sempre 0):
public function show($id)
{
echo \Auth::check() ? '1' : '0';
die();
#.......
}
Hai seguito i passaggi da https://laravel.com/docs/5.1/authentication#http-basic-authentication? –
Auth :: check è esattamente ciò che viene utilizzato, potresti pubblicare il tuo codice? –
@LiamPotter Sembra che tu stia già verificando l'autenticazione utilizzando il middleware. Perché lo stai controllando di nuovo nel controller? Se non sei autenticato, Laravel non ti lascerà all'interno del metodo del controller. – parrker9