1

私は現在Laravelのウェブサイトを開発しています。ユーザーは登録してからログインして自分のページで何かをすることができます。Laravel 5.3 Auth - 登録してログインすることもできますが、ゲストとして続けることも可能です

ゲストとして進学する可能性を紹介する予定ですので、「ゲストとしてログイン」して通常のユーザーのように進めることができます(しかし、そこに入る情報を永久に保存する可能性はありません)。また、自分のメールアドレスとパスワードを入力することで、常にこのゲストアカウントを永久アカウントに変更することができます。私は単純に通常の登録ユーザのようにゲストとしてログインをクリックしたときにdbで新しいユーザを作成することを考えましたが、それを削除することは考えましたが、それが簡単かどうかはわかりません... "これを行うか、それを行う方法に関するアイデアはありますか?

登録されたユーザーは、住所、情報の変更、チケットの提出、ニュースレターの登録など、多くのことを行うことができるはずです。ゲストはショッピングカートに何かを入れて購入することしかできませんそれを購入している間にもアカウントを作成できるはずです。 また、ゲストユーザを認証するためにカスタムガードを実装する必要があることも知っています(通常はパスワードが必要なので、メールアドレスを入力して "ログイン"する必要がありますが、私は生成されるセッションキーなどを必要としますので、これはガードの一部です...しかし、私の問題を完全に満たすカスタムガードを作成するには、 ?これはララベルの文書(https://laravel.com/docs/5.3/authentication#adding-custom-guards)が見つかりましたが、実際に問題と組み合わせることはできません....

PS:私はLaratrustをページ内のさまざまな役割に使用しています。そのため、メールアドレスを使用してログインした後で、ゲストユーザにさまざまなメニューやその他の情報を表示できる場合があります。しかし、まだ、問題はそれを行う方法です... 任意のヘルプThx!

を編集してください。もう一度考えてみてください。もう少し明確にしたいと思います。私は基本的にログインページを変更し、「ゲストとして進む」のようなボタンを追加し、それに対してguestLoginのようなルートを定義することを計画しています。このルートは、何らかの形で(自主的に作成された)authを使用してログインするコントローラを指しています。ボタンをクリックすると、データベース内のusersテーブルにエントリが追加され、アイデアと記憶トークンのみが使用されます。その後、ゲストユーザはショッピングカートに商品を置くことができ、何かを注文することができます。注文プロセスでは、彼は住所、電子メールアドレスなどの個人情報を入力する必要があります。また、オプションを選択すると、自動的に登録してからパスワードを入力するチェックボックスがあります。その後、彼の情報はdbにも保存されます(ゲストユーザ向けに作成された行に)。

PS:もう一度Laratrustにゲストロールを作成して、彼が見せたいページとカスタムチェックアウトページを正確に表示します。だから実際の唯一の問題はログイン(カスタム認証ガードによる)であり、基本的に既に存在するユーザー(たとえその時点でのデータベースのIDであっても)の登録に加えて、後で実装する方法はわかりません。

私の考えが分かっていれば幸いです。

+0

ゲストユーザーと同じフローをゲストユーザーに提供するのは良くないと思います。 – Sona

+0

@Sona彼らは同じ可能性を持たず、登録ユーザーはロットを実行できるはずです情報を変更したり、チケットを提出したり、ニュースレターにサインアップしたりするなど、ショッピングカートに何かを入れて購入することができます(購入している間はアカウントを作成できるはずです) ) – nameless

+0

えええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええええることは、 – Sona

答えて

1

認証と認可は、サーバーからリソースを要求しているユーザーの保存と覚え書きに役立ちます。覚えておくには、セッションまたはデータベース、または他のストレージメカニズムを使用する必要があります。

ゲストユーザーを識別するのに十分なユーザー情報が必要です(例:彼らがいくつかの操作を実行し、後に、データ/アプリケーションの現在の状態を変更したユーザを見つけなければなりません。

この電子メールまたはその他の情報をデータベースの「ユーザー」テーブルに格納するか、Laratrustを使用してゲストロールを作成します。これは単純なゲストの役割で、パスワードを入力せずに基本的な詳細で操作を実行できます。

これが役立つかどうかを確認してください。それ以外の場合は、詳細な説明を参照してください。

+0

私はララベルガードにも対処しなければなりませんか?または、彼らはどのように "ログイン"していますか? – nameless

+0

私はセッショントークンなどの生成を意味します。 – nameless

+0

はい、より堅牢で安全なものにするためには、そうすべきです。 –

関連する問題