2016-04-06 19 views
1

önlemek Biz WIF ve DPAPI kullanarak imzalanır WIF çerezi anlamına gelmektedir klasik SessionSecurityTokenHandler, kullanan bir ASP.NET MVC uygulama var.ASP.NET WIF değişiklik güvenlik belirteci işleyici ve CryptographicException

Güvenlik belirteci işleyicisini MachineKeySessionSecurityTokenHandler olarak değiştirmek istiyoruz çünkü uygulamayı Azure web uygulaması dağıtımında birden çok örneğe (web grubu) ölçeklendirmek istiyoruz. Bu, WIF çerezinin makine anahtarını kullanarak (yani web uygulaması örnekleri arasında paylaşılır) imzalanması anlamına gelir.

Karşılaştığımız sorun, uygulama için başlatılmış bir çerez zaten olan kullanıcılarla. Belirteç işleyicisini vahşice değiştirirsek, bu kullanıcı, CryptographicException nedeniyle çirkin HTTP 500 sayfası alır, çünkü çerez imzası geçersizdir.

hatayı önlemek ve bunun yerine ya eskimiş çerez atmak veya kullanıcı kimliğini yeniden doğrulaması bildirmek için bir yolu var mı?

cevap

0

Tamam, bu nedenle bu sorun için bir çözüm bulduk. Çerezin adını değiştirdik, bu da kullanıcıların bağlantısı kesildi ve yeni bir çerez oluşturuldu.

<configuration> 
    <system.identityModel.services> 
     <federationConfiguration> 
      <cookieHandler name="CookieName" /> 
     </federationConfiguration> 
    </system.identityModel.services> 
</configuration> 
: Bu web.config ilgili bölümü olan