2017-04-11 21 views
0

私は、laravel(5.4を使用)内にパスワードで保護されたページを設定する必要があります。ユニークなパスワードを使用してLaravelのパスワードを保護するページ

私はパスワードが正しく入力されている場合のみ、ページにアクセスできるようにしたい

...

は、私は、これは理にかなっていると私はに建て使用するよりも、この他に何かを見つけることができないようだと思いますlaravelの認証機能...

ありがとうございます。

+0

ウェブサーバーに基本認証を設定するだけで済みます。それは本当に簡単です。 – apokryfos

答えて

3

これを行うにはかなり単純なこと..です

パスワードフィールドとあなたがアクセスしたいページのIDを保存する隠しidフィールドを持つフォームを作成します。ユーザーがパスワードを提出

、それはあなたのデータベース内のものと一致するかどうかをチェック..

if (Hash::check('enetered-password', $hashedPassword)) { 
    // The passwords match... 
} 

もしそうなら、セッション中のアレイにページIDを格納します。次にユーザーがページにアクセスしたいときは、この配列にIDが存在するかどうかを確認します。ページにリダイレクトされている場合はパスワードフォームページにリダイレクトされます。

保護されたページにミドルウェアを追加して、ユーザーが許可を持っているかどうかをチェックし、リダイレクトすることも賢明でしょう。

セッションが期限切れになると(つまり、ログアウトすると)すべてのデータが破棄されるため、再度ログインすると再びページパスワードを入力する必要があります。

+0

ありがとう、私はそれを行ってあげるよ!問題は、パスワードを持っている限り誰でもページにアクセスできるように、ユーザーアカウントを作成せずにこれを実行する必要があることです。 – ogagh

+0

これはまったく問題ではありません。これらのルートに認証ミドルウェアを追加しないでください。また、X分などのアクセスを制限したい場合は、アレイに日付/時刻を追加するだけでそれをチェックすることもできます。 –

関連する問題