Как вы сообщаете laravel auth::attempt
, что поле пароля хранится в виде открытого текста, а не в предположении, что оно хешировано?laravel 4 auth :: попытка пароля в открытом тексте
С-в guard.php
public function attempt(array $credentials = array(), $remember = false, $login = true)
{
$this->fireAttemptEvent($credentials, $remember, $login);
$user = $this->provider->retrieveByCredentials($credentials);
// If an implementation of UserInterface was returned, we'll ask the provider
// to validate the user against the given credentials, and if they are in
// fact valid we'll log the users into the application and return true.
if ($user instanceof UserInterface)
{
if ($this->provider->validateCredentials($user, $credentials))
{
if ($login) $this->login($user, $remember);
return true;
}
}
return false;
}
или еще лучше, я буду только 2 колонки, один в качестве открытого текста и другого, как password_secured.
Если я пытаюсь последний, как я говорю, что попытка имя столбца пароль password_secured.
Cuz Я попробовал это, и получил ошибку Undefined index: password
.
$user = array(
'user_id' => Input::get('username'),
'password_secured' => Input::get('password'),
'checklogin' => 0,
);
if (Auth::attempt($user)) {
return 'login success';
}
Дело в том, что я портирования приложения, а не строить с нуля, и мне очень нужны пароли хранятся в незашифрованном виде, потому что другое приложение использует БД (и это в прямом эфире) и закодирован для чтения паролей в открытом тексте.
Спасибо. Получил все настройки, но я все еще ищу реализацию загрузки. Я не могу хешировать весь пароль, потому что другой APP, который использует одну и ту же базу данных, читает его в открытом тексте, и я не могу изменить это приложение, и у меня нет доступа к нему. Я просто занимаюсь веб-сайтом. Приложение представляет собой исполняемый файл C++. – user2415940
Я нашел его в этой строке Guard.php 'if ($ user instanceof MyUserInterface)' – user2415940
OH. Thats wierd его все еще неспособность login. – user2415940