あなたが探している方法はセッションIDと呼ばれると思います。匿名ユーザーとして保存すると、WebアプリケーションはセッションIDを持つセッションを作成します。このセッションIDは、リンクでユーザーを識別するために使用されます。たとえば、plnkrの場合、https://plnkr.co/edit/session_id?p=catalogue
のようになります。ここで、session_id
はある種のハッシュです。
スニペットをフリーズするには、セッションIDがフラグ付きのクッキーに書き込まれます。たとえば、状態が固定されているとします。 Chromeでフリーズして、Chromeのプライベートウィンドウまたは同じコンピュータのFirefoxで開いた場合は、フリーズ解除できません。クッキーを持たない他のユーザーと同じように動作します。実際には、任意のユーザー識別ではなく、クッキーのセッションハッシュを使用してbetter for security reasonsです。
このアプローチは、匿名ユーザーを作成するよりも優れているわけではありません。セッションレコードをデータベースに保存してリンクごとにセッションコンテキストを開くことができます。実際、多くのユースケースやコードの場所にユーザがいると仮定した場合、あなたが行ったことを正確に行うことが、あなたのケースではもっと簡単になるかもしれません。
しかし、多くの場合、ユーザーからのセッションの分離は、ログインまたは登録後にセッション状態を維持するのを簡素化するので、非常に意味があります。登録した後、いくつかのWebストアがあなたのバスケットを空にしてしまうと、特にあなたが今再び見つけて戻さなければならないいくつかの小さなアイテムを入れると、かなりの欲求不満が生じます。それらはセッションを持っていないか、登録やログイン時にセッションを正しく使用しません。
そうしないと、私はこれを書いているように、ほとんど同じで、ユースケースに応じて、ある種の賢明な保持ポリシーがない限り、データベースを汚染する多くの匿名セッションに対処する必要があります。例えば、plnkr.co
に似たWebサイトで、コードスニペットを共有し、stackoverflowなどのサイトに投稿すると、少なくとも1年に1回以上アクセスするユーザーがいる間、それらのセッションをよりよく保持する必要があります。したがって、セッションにはアクセス日があり、ポリシーは1年以上経過しているはずです。
希望します。
を含むいくつかの情報は、あなたはまだ持っている」...あなたの答えをありがとう、私は後でそれらを変更することを選択した場合の機能でそれらを包んセッションレコードをデータベースに保存してリンク別にセッションコンテキストを開くことができます "==>"リンク別セッションコンテキストを開く "とはどういう意味ですか?私はなぜセッションレコードをデータベースに保存する必要があるのか理解できません。 – SoftTimur
@SoftTimurは、コンテキストが本当にシンプルで軽量で、機密ユーザーデータを含んでいませんが、最も重要なのはコンテキストがユーザーのローカルブラウザでは、厳密に言えば、あなたはする必要はありません(Jamesが与えた答えを見てください)。しかし、plnkrの例では、ユーザがセッションを保存して他の人にリンクを送信し、他の人が同じコード(この場合コンテキスト)を見ることができるため、コンテキストはユーザのブラウザにとってローカルではありません。 URLにエンコードするには大きすぎますので、サーバーのどこかに保存されます。ほとんどの場合、データベースに保存されます。 –
プランナーのような遊び場では、コードをデータベースに保存するのは不可能ですが、匿名のユーザー情報は保存できません。匿名のユーザー情報だけがセッションIDを持つセッションに添付されることは不可能ですか? – SoftTimur