Vývoj moderních aplikací na platformě Microsoft .NET

Je vyžadována podpora jazyka JavaScript

Některé stránky na tomto webu vyžadují podporu jazyka JavaScript. Váš webový prohlížeč jazyk JavaScript nepodporuje nebo jazyk JavaScript není povolen.

Chcete-li zjistit, zda webový prohlížeč podporuje jazyk JavaScript nebo jazyk JavaScript chcete povolit, přečtěte si nápovědu k vašemu webovému prohlížeči.


SafeSessionAuthenticationModule.cs

Download file

Toto je zdrojový kód souboru SafeSessionAuthenticationModule.cs

SessionAuthenticationModule with 'Key not valid for use in specified state' error handling.

using System;
using System.IdentityModel.Services;

namespace IMP.Shared
{
    public class SafeSessionAuthenticationModule : SessionAuthenticationModule
    {
        #region private member functions
        protected override void OnAuthenticateRequest(object sender, EventArgs eventArgs)
        {
            try
            {
                base.OnAuthenticateRequest(sender, eventArgs);
            }
            catch (InvalidOperationException ex)
            {
                if (ex.InnerException is System.Security.Cryptography.CryptographicException && ex.Message.StartsWith("ID1073: "))  //Key not valid for use in specified state.
                {
                    //Změna app pool identity, zapamatované přihlášení je neplatné
                    this.SignOut();
                    return;
                }

                throw;
            }
            catch (FederatedAuthenticationSessionEndingException)
            {
                this.SignOut();
            }
            catch (System.IdentityModel.Tokens.SecurityTokenException)
            {
                this.SignOut();
            }
        }
        #endregion
    }
}