1

新しいlaravel 4アプリで認証の問題が発生しています。私が気付いた奇妙なことの1つは、これが理由かもしれません。

var_dump(Hash::check('secret', Hash::make('secret')));

DB シーダー (ハッシュ化されたパスワードを作成する場所) で true になります。

同じコマンドをルートで直接実行すると、false になります。

また、私が簡単なことをするとき:

var_dump(Hash::make('secret'));

直接ルートでは、それはまだ false です。

これは壊れていますか、それとも何か不足していますか?

4

1 に答える 1

1

インストールに問題があります。これは私が得るものです:

Route::get('/', function()
{
    var_dump(Hash::make('secret'));  // Gives a bcrypt string output
    var_dump(Hash::check('secret', Hash::make('secret'))); // Output true
}

Composer の更新を行い、アプリ自体の更新を忘れていませんか? これは、現時点で Laravel 4 の問題の最も一般的な原因です。

このフォーラムの投稿では、composer の更新後にメインの L4 アプリを更新する方法について詳細な回答が得られます。

編集: フォーラムの内容をここに投稿します。ベータ セクションを表示するには、Laravel フォーラムにログインする必要があるためです。

composer update を実行した後に問題が発生した場合は、おそらく、laravel/laravel の開発ブランチであるアプリケーション スケルトンから変更をマージする必要があります。

最初にこのリポジトリを複製し、まだ git 履歴を共有している場合は、通常、変更を簡単にマージできます。リモートがこのリポジトリを指している「上流」であると仮定すると、次のことができます。

git fetch upstream
git merge upstream/develop 

別の方法として、develop ブランチから個々のコミットを選択することもできますが、ここでは説明しません。

最初に zip ディストリビューションをダウンロードしたか、上流の履歴を削除した場合でも、手動で問題を解決できます。このブランチのコミットを見て、アプリケーションにない変更を加えてください。通常、重大な変更は単純な構成変更です。

Laravel 4 安定版がリリースされると、これを行う必要性ははるかに少なくなりますが、これらの変更はまだ発生する可能性があります。このベータ版アプリケーションでは、重大な変更が発生する可能性が非常に高いことに注意してください。

フォーラムへの投稿をしてくれた Kindari に感謝します。

于 2013-02-16T12:34:34.540 に答える