2016-04-06 6 views
1

WIFと古典的なSessionSecurityTokenHandlerを使用するASP.NET MVCアプリケーションがあります。つまり、WIF cookieはDPAPIを使用して署名されています。ASP.NET WIFセキュリティトークンハンドラを変更してCryptographicExceptionを回避する

セキュリティトークンハンドラをMachineKeySessionSecurityTokenHandlerに切り替えるには、Azure Webアプリケーションデプロイメントで複数のインスタンス(Webファーム)にアプリケーションを拡大する必要があるためです。これは、WIFのクッキーがマシンキー(Webアプリケーションインスタンス全体で共有される)を使用して署名されることを意味します。

私たちが直面する問題は、既にアプリケーション用に初期化されたクッキーを持っているユーザーにあります。トークンハンドラを残酷に変更すると、クッキーの署名が無効であるため、これらのユーザーはCryptographicExceptionのため、醜いHTTP 500ページを取得します。

エラーを防止し、古くなったCookieを破棄するか、ユーザーに再度認証させる方法がありますか?

答えて

0

OKこれで、この問題の回避策が完成しました。クッキーの名前を変更しただけで、ユーザーが切断され、新しいクッキーが生成されます。これはweb.configの関連部分です:

<configuration> 
    <system.identityModel.services> 
     <federationConfiguration> 
      <cookieHandler name="CookieName" /> 
     </federationConfiguration> 
    </system.identityModel.services> 
</configuration> 
関連する問題