2011-07-03 3 views
1

現在、私のasp.net Webサイトでセッションベースの認証を使用しています。セッションベース認証

1)セキュリティ目的からセッションベースの認証を受けることは安全かどうかを知りたいです。

2)セッション数が多すぎると、パフォーマンスが低下するかどうかは、 ですか?

3)何もうまくいかない場合は、セッション認証 の認証をフォーム認証に移行することになります。どのような方法で安全に移行できますか?

これまでのところ、私はセキュリティ上の目的からセッションベースの認証を持っている、それは安全であるかどうかを知りたいのですが、このリンク

http://www.asp.net/general/videos/how-do-i-create-a-custom-membership-provider

答えて

4

を参照しています。

これは実装方法によって異なりますが、現在ログインしているユーザー名をセッションに保存する場合は、かなり安全です。

ユーザー数が増えすぎて、セッションが多すぎるとパフォーマンスが低下するかどうか。

インメモリセッションプロバイダを使用している場合は、現在ログインしているユーザーに関するすべての情報をWebサーバーのメモリ内に格納することになります。また、アプリケーションドメインがリサイクルされると、すべてのセッション情報が失われ、すべてのログインユーザーが自動的にログアウトされ、うまくいきません。これはスケーラブルな解決策ではありません。このパスに進むことを決定した場合は、アウトプロセス・セッション・プロバイダーを使用することができます。

私はセッションベースの認証をフォーム認証に移行することになりますが、どのような移行方法が安全ですか?

セッションに依存するすべてのコードを削除し、User.Identity.Nameを使用して置き換えて、現在ログインしているユーザーをフェッチします。 forms based authenticationの概要は次のとおりです。これは、ASP.NETアプリケーションで認証を処理するための推奨されるアプローチです。