你如何告訴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.
因爲我想這一點,並得到了一個錯誤Undefined index: password
。
$user = array(
'user_id' => Input::get('username'),
'password_secured' => Input::get('password'),
'checklogin' => 0,
);
if (Auth::attempt($user)) {
return 'login success';
}
事情是我移植的應用程序,而不是從頭開始構建的,我真的需要密碼,因爲另一個應用程序正在使用DB存儲在純文本(它是活的)和編碼爲以明文形式讀取密碼。
謝謝。知道了所有的設置,但我仍然在尋找負載實施。我無法散列所有密碼,因爲使用相同數據庫的另一個APP正在以明文方式讀取它,我無法修改該應用程序,也無法訪問它。我只是在網絡方面。該應用程序是一些C++可執行文件。 – user2415940
我發現它在Guard.php的這一行if($ user instanceof MyUserInterface)' – user2415940
OH。這更奇怪它仍然無法登錄。 – user2415940