ASP.Net - 状態とセッション変数を追跡するための現在のベストプラクティスは何ですか?
-
26-09-2019 - |
質問
私たちは、新しい消費者向け/一般向けASP.NetのWebアプリを作成しています。 2つの懸念があります:
- 使用クッキーやクッキーレスフォーム認証?
- 私たちはすべてのクッキーを使用しない場合、どのようにあなたがそれ以外の場合はクッキーに格納されるデータ(顧客ID、AffiliateIDなど)を格納します。得意先のようなASP.Net認証フレームワークトラックに何かをしていますか?
解決
は、通常のWebアプリケーションのためにCookieなしの認証を使用するためには良い理由はありません - 。クッキーの恐怖は、十年ほど前に出て死亡した。
は、実際のデータでは、セッションオブジェクトは、一般的に、個々のクッキーよりも良い選択肢である - セッションクッキーは、効果的にあなたがサーバーに保存されているものは何でもセッションデータへのキーを与えることが単一の値です。そこマルチサーバー展開では、たとえば、セッションを使用に問題がある一定の特殊なケースがありますが、ほとんどのアプリケーションのために、それはシンプルで十分です。
は、標準的なフォーム認証システムがユーザ名を追跡し - 。一般的にこれを使用すると、セッションで何を保持しない場合は、あなたのデータベースから必要なデータをすべて調べるのに十分です。
他のヒント
は、クッキーは、通常の方法です。それは、人々がクッキーを持っていること、これらの日は非常にまれですので、多くのサイトが既にそれらに依存するのでオフになっています。
それを言って、ASP.NETはサポート「Cookieなし」の認証を行います。基本的にはそれだけでURLのパラメータとして認証トークンを追加します。それは、彼らはまた、トークン情報が含まれていることを保証するために、すべての送信URLを解析します。個人的に、私はこれを気にしてばかりのクッキーを必要として行かないだろう。クッキーレスを行くしようとしたときに、いくつかの追加の頭痛があります(検索エンジンは、それがページをクロールするたびに異なるURLが表示されますので、例えば、それは、そのはるかに困難SEOを行うことができます)。