Auth :: check() завершается после успешного завершения Auth: попытка(). Я просто следую инструкциям laracast.com, чтобы сделать простую аутентификацию. Этот конкретный учебник https://laracasts.com/series/laravel-from-scratch/episodes/15. Так что либо небольшое изменение было сделано между 4 и 5 версиями, либо им что-то не так.laravel Auth :: check() failed
Это функция, которая выполняет аутентификацию, а вторая выполняет проверку. Оба они находятся в одном классе.
public function store()
{
$credentials = Input::only('user_displayname');
$credentials['password'] = Input::get('user_password');
if (Auth::attempt($credentials))
{
return Auth::user();
}
return 'not logged';
}
public function status()
{
return dd(Auth::check());
}
Это модель пользователя:
class User extends Eloquent implements UserInterface, RemindableInterface {
use UserTrait, RemindableTrait;
protected $table = 'user';
protected $hidden = array('user_password', 'remember_token');
protected $fillable = ['user_displayname', 'user_fname', 'user_lname', 'user_email', 'user_password'];
public $errors;
public static $rules = array(
'user_displayname' => 'required|unique:user,user_displayName',
'user_fname' => 'required',
'user_lname' => 'required',
'user_email' => 'required|unique:user,user_email',
'user_password' => 'required'
);
public function isValid($data)
{
$validation = Validator::make($data, static::$rules);
if ($validation->passes()) return true;
$this->errors = $validation->messages();
}
public function getAuthPassword()
{
return $this->user_password;
}
}
Второй вопрос. Использует ли аутрайтинг сеансы laravel или это совсем другая вещь?
EDIT:
ли Auth имеют срок аренды или что-нибудь подобное, что только удаляет сессию после того, как истечет время? Также мои столбцы базы данных «updated_at» и «created_at» дают неправильное время по сравнению с компьютером. Поэтому я думаю, что если Auth проверяет какие-то моменты, может быть, вероятность того, что он всегда терпит неудачу из-за неверно истолкованных времен.
P.S уже просмотрел другие решения в stackoverflow.
Спасибо
Выглядит больше как проблема с сеансом. Чтобы ответить на ваш второй вопрос - используйте, аутентификация использует сеансы Laravel. – Laurence
- это ваш идентификатор столбца 'id' или' user_id' - от просмотра вашего кода. У меня есть предположение, что вы его назвали 'user_id'? это должно быть 'id' – Laurence
. Я начинаю думать, что может возникнуть проблема с настройкой сеанса. Есть ли еще какие-то настройки, кроме сеансов, которые я мог бы проверить? Я попытался изменить время жизни «config/session.php», без какого-либо воздействия. Также попытался изменить user_id на id. Ничего. – DasBoot