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('/');
}
}
}
これは悪い考えです。その理由は、Hash :: make($ password);パスワードを暗号化された形式で保存することです。誰かがデータベースにアクセスできる場合、ユーザーアカウントは安全です。ハッシュを削除することで、パスワードをそのまま保存します。その代わりに、 '(Hash :: make(Input :: get( 'password'))=== $ user-> password)' –
@serdarのようにパスワードを$ user-> passwordと比較するコントローラをチェックする必要があります。 sanri実際にあなたが書いたことは感動しますが、どうすれば問題を解決できますか?私は完全なコントローラコードで投稿を更新します。 –
あなたが言ったとき、あなたがすべての詳細を入力した後、それは正しくリセットされていません、どういう意味ですか?正確には何が正しいのでしょうか?パスワードをリセットした後、ログインしようとすると新しいパスワードは受け入れられませんか?データベースに設定したパスワードが表示されませんか? –