4

私たちはASP.NETとIIS 6.0を使用しています。私は、アプリケーション、Webサイト、仮想ディレクトリの定義がIIS 6ではあまり定義されておらず、IIS 7では大きく変更されていることを認識しています。単一のサイトに複数のアプリケーション - セッションおよびフォーム認証スコープ

私たちは、IISで定義された単一のWebサイトと、仮想ディレクトリ内のいくつかの個別のサブサイトを持っています。

http://site.example.com/site1 
http://site.example.com/site2 
.. etc .. 

SITE1、SITE2、... "既定のWebサイト" の下で、IIS 6.0で仮想ディレクトリです - :

スキームは次のようになります。

私は、これらのサイトのほとんどでASP.NETセッションとフォーム認証を使用する必要があり、認証データやセッション情報を共有したくないのです。

現在、両方のメカニズムはCookieに依存しています。ただし、デフォルトで作成されたクッキーは同じ名前を使用し、ブラウザに「/」のパスを持ちます。つまり、サイトのクッキーは互いに衝突します。

各クッキーのデフォルト名を変更せずに、どのように私のサブサイトを分離することができますか? IIS 6の "アプリケーション"の仮想ディレクトリを変更する必要はありますか?または、クッキーの範囲を限定するためにコードにいくつかの方法がありますか?

ありがとうございます。

答えて

9

フォーム認証の場合、各サブサイトの仮想ディレクトリを反映するために、フォーム認証の場合は、FormsCookiePathプロパティを定義できます。セッション状態については

http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.formscookiepath.aspx

、私はパスを定義することができるものを見ていないが、あなたは離れて、標準COOKIENAME =「ASP.NET_SessionId」値とは異なるCookie名を定義することができます。そうすれば、各サブサイトは異なるセッションCookieを探しています。

http://msdn.microsoft.com/en-us/library/h6bb9cz9(v=VS.100).aspx

関連する問題