2017-05-19 48 views
0

,所以我不得不在剩下的口令页面的问题,一旦你进入的电子邮件并点击发送,用户正确获得的电子邮件,但是当用户去休息密码页面,输入所有信息,密码不会正确地休息。在Laravel休息密码4.2

  • 检查解决方案后。

谢谢

***更新:

全控制器代码:

<?php 
use Care\Forms\ReminderForm; 
class RemindersController extends Controller 
{ 
    protected $reminderForm; 
    function __construct(ReminderForm $reminderForm) 
    { 
     $this->reminderForm = $reminderForm; 
    } 
    public function getRemind() 
    { 
     return View::make('pages.remind'); 
    } 
public function postRemind() 
{ 
    $this->reminderForm->validate(Input::only('email')); 
    $response = Password::remind(Input::only('email'), function($message) 
    { 
     $message->subject('Rest password'); 
    }); 
    switch ($response) { 
     case Password::INVALID_USER: 
      return Redirect::back()->with('error', Lang::get($response)); 
     case Password::REMINDER_SENT: 
      return Redirect::back()->with('status', Lang::get($response)); 
    } 
} 
    public function getReset($token = null) 
    { 
     if (is_null($token)) App::abort(404); 

     return View::make('pages.reset')->with('token', $token); 
    } 
    public function postReset() 
    { 
     $credentials = Input::only(
      'email', 'password', 'password_confirmation', 'token' 
     ); 
     $response = Password::reset($credentials, function ($user, $password) { 
      $user->password = $password; 
      $user->save(); 
     }); 
     switch ($response) { 
      case Password::INVALID_PASSWORD: 
      case Password::INVALID_TOKEN: 
      case Password::INVALID_USER: 
       return Redirect::back()->with('error', Lang::get($response)); 
      case Password::PASSWORD_RESET: 
       return Redirect::to('/'); 
     } 
    } 
} 

回答

-1

所以这里经过一些卧底是解决方案:

在RemindersController.php改变这一行: 来自:

$user->password = Hash::make($password); 

到:

$user->password = $password; 

这是应该解决您的问题。

+1

这是一个坏主意。 Hash :: make($ password);的原因是以加密和腌制格式存储密码,所以如果有人有权访问您的数据库,用户帐户将是安全的。通过删除哈希,您按原样存储密码。相反,你需要一个与用户$密码比较>密码一样,如果'(哈希::化妆(输入::得到(“密码”))=== $用户>密码)' –

+0

@serdar检查您的控制器。实际上你写的sanri确实让人感觉到,但是我该如何解决这个问题呢?我会用完整的控制器代码更新我的文章。 –

+0

所以当你说了,在你输入所有的细节后,它没有被正确地重置,你是什么意思?它不正确的是什么?重置密码后,尝试登录时不接受新密码?或者您在数据库中设置时看不到密码? –