SecurityToken.ValidTo Свойство

Определение

Возвращает последний момент времени, когда данный маркер безопасности является действительным.

public:
 abstract property DateTime ValidTo { DateTime get(); };
public abstract DateTime ValidTo { get; }
member this.ValidTo : DateTime
Public MustOverride ReadOnly Property ValidTo As DateTime

Значение свойства

Значение DateTime, соответствующее последнему моменту времени, когда данный маркер безопасности является действительным.

Примеры

Примеры кода, используемые в разделах SecurityToken , взяты из Custom Token примера. В этом примере представлены пользовательские классы, обеспечивающие обработку простых веб-маркеров (SWT). Он включает в себя реализацию SimpleWebToken класса и SimpleWebTokenHandler класса , а также другие классы, поддерживающие токены SWT. Сведения об этом и других примерах, доступных для WIF, и о том, где их можно скачать, см. в разделе WiF Code Sample Index. В следующем коде показано переопределение ValidTo свойства .

/// <summary>
/// Defines the set of constants for the Simple Web Token.
/// </summary>
public static class SimpleWebTokenConstants
{
    public const string Audience = "Audience";
    public const string ExpiresOn = "ExpiresOn";
    public const string Id = "Id";
    public const string Issuer = "Issuer";
    public const string Signature = "HMACSHA256";
    public const string ValidFrom = "ValidFrom";
    public const string ValueTypeUri = "http://schemas.xmlsoap.org/ws/2009/11/swt-token-profile-1.0";     
}
public static DateTime SwtBaseTime = new DateTime( 1970, 1, 1, 0, 0, 0, 0 ); // per SWT psec

NameValueCollection _properties;
/// <summary>
/// Gets the time when the token expires.
/// </summary>
/// <value>The time up to which the token is valid.</value>
public override DateTime ValidTo
{
    get
    {
        string expiryTime = _properties[SimpleWebTokenConstants.ExpiresOn];
        return GetTimeAsDateTime( String.IsNullOrEmpty( expiryTime ) ? "0" : expiryTime );
    }
}
/// <summary>
/// Converts the time in seconds to a <see cref="DateTime"/> object based on the base time 
/// defined by the Simple Web Token.
/// </summary>
/// <param name="expiryTime">The time in seconds.</param>
/// <returns>The time as a <see cref="DateTime"/> object.</returns>
protected virtual DateTime GetTimeAsDateTime( string expiryTime )
{
    long totalSeconds = 0;
    if ( !long.TryParse( expiryTime, out totalSeconds ) )
    {
        throw new SecurityTokenException("Invalid expiry time. Expected the time to be in seconds passed from 1 January 1970.");
    }

    long maxSeconds = (long)( DateTime.MaxValue - SwtBaseTime ).TotalSeconds - 1;
    if ( totalSeconds > maxSeconds )
    {
        totalSeconds = maxSeconds;
    }

    return SwtBaseTime.AddSeconds( totalSeconds );
}

Комментарии

Используйте свойства ValidFrom и ValidTo для определения периода времени, в течение которого действителен маркер SecurityToken. Свойства ValidFrom и ValidTo представляют соответственно первый и последний моменты времени, когда данный маркер безопасности является действительным.

Примечания для тех, кто реализует этот метод

Необходимо переопределить ValidTo свойство .

Применяется к