ASP.NETアプリケーションのコンテキスト内で作業する私は、環境内の多くのデータベースの1つに対してデータベーススクリプトを実行できるページを作成しています。これを行うには、ユーザー名とパスワードの組み合わせをユーザーに求める必要があります。この値は、すべてのサーバーで問題なく使用できます。
問題は、この情報を保存するための最も安全な場所はどこですか?この特定のページにいるときは、複数のポストバックで何百ものスクリプトを実行している可能性があるため、一時的に保存する必要があります。私が言えることから、私には3つの選択肢があり、何が最善かわかりません。以下はオプションに関する私の見解ですが、ここにいるすべての人の推奨事項は何ですか?ユーザーにとってフレンドリーでありながら、最も安全なものは何ですか?
ビューステートに情報を保存する
私たちが最初に話し合ったアイデアの1つは、ユーザーがページのViewStateに入力した後に情報を保存することでした。情報はページの存続期間中のみ存在するため、これは役立ちますが、セキュリティへの影響は不明です。
セッションに情報を保存する
次のアイデアはセッションに保存することでしたが、これの欠点は、情報をアプリケーション内の他のページで利用できるようにすることができ、情報が常にサーバーのメモリに残ることです。
アプリケーションに情報を保存する
私たちが持っていた最後のアイデアは、ユーザー固有のキーとスライド式の5分の有効期限を使用して、アプリケーションキャッシュに保存することでした。これは他のページでも引き続き利用できますが、情報がより短い期間キャッシュされるようになります。
なんで?
重要な最後の質問は「なぜあなたはこれをしているのですか?」です。なぜ彼らのLANIDを使用しないのですか?委任に対するネットワークサポートがないため、LANIDを使用できません。
S0推奨される解決策は何ですか?なんで?それはどれほど安全ですか、そして私たちは安全であることができますか?
アップデート
素晴らしい情報が議論されました。明確にするために、私たちはイントラネット環境で実行しています。ネットワークの制限により、なりすましや委任を使用することはできません。