2009-08-05 29 views
1

私が問題になる少し前に私の設定を説明しましょう。フォーム認証を使用する2つのWebサーバー(www.mydomain.comおよびwww2.mydomain.com)があります。各Webサーバーには、認証用のメインアプリケーションと多数のサブアプリケーションがあります。それは一種の次のようになります。あなたが見ることができるようにSSOの.Netフォーム認証クッキーの有効期限問題

www.mydomain.com

|__MainApp (.Net 2.0) 
    |__SubApp1 (.Net 1.1) 
    |__SubApp2 (.Net 2.0) 
    |__SubApp3 (.Net 2.0) 

www2.mydomain.com

|__MainApp (.Net 2.0) 
    |__SubApp1 (.Net 1.1) 
    |__SubApp2 (.Net 2.0) 
    |__SubApp3 (.Net 2.0) 

、私はミックスを実行していますよ.Net 1.1と2.0のアプリケーションを同じサーバーにインストールする必要があります。今私は、このセットアップで動作するシングルサインオン(SSO)ソリューションを考え出し、部分的に成功しました。タグのドメイン属性が.Net 1.1と互換性がないため(アプリケーションによって例外がスローされる)、フォーム認証Cookieのドメインをプログラムで設定することにしました。これは正常に動作し、再度ログインすることなく2台のサーバー間を移動できます。この問題は、サーバーがCookieを再発行または更新しようとしたときに有効になり、slidingExpirationを有効にして有効期限を更新します。私が生成するクッキーは、ドメインとして "mydomain.com"で作成されますが、サーバが新しい有効期限でそれを再発行しようとすると、それを見つけることができず、 "www.mydomain.com"というブランドの新しいクッキーを生成しますドメイン

サーバーが元のCookieをカスタムドメインで適切に再発行するようにしてもらえますか?

答えて

0

フォーム認証を使用したセットアップ(2つのWebサーバー、1.1,2.0,3.5の組み合わせ)とSSOがほぼ同じです。そして、私たちは問題なくスライディング期限切れに取り組んでいます。

私の2つのWebサーバーは、Webファームとしてセットアップされています(正しく覚えていれば、サーバー2k3のMSクラスタリングを使用しています)。これは、両方のマシンが同じドメインに割り当てられていることを意味します。 2つのサーバーをWebファームに切り替えることはできますか?

0

もし私たちがそのルートに行くなら、それはもっと長期的な解決策になります。短期間に、私は、フレームワークが既存のCookieを見つけて再発行できない理由を誰かが知っているかどうかを確かめたいと思っていました。

0

解決方法私のソリューションは、.Net 2.0フレームワーク(C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG \ Web.config)のグローバルWeb.configにフォーム認証ドメイン属性を追加することでした。私の.Net 1.1アプリの問題は修正されませんが、アプリの大半は2.0です。おそらくHTTPModuleを使って.Net 1.1アプリのスライド有効期限を処理するだけです。

関連する問題