SecurityToken.ValidFrom Propriedade
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Obtém o primeiro instante no tempo em que este token de segurança é válido.
public:
abstract property DateTime ValidFrom { DateTime get(); };
public abstract DateTime ValidFrom { get; }
member this.ValidFrom : DateTime
Public MustOverride ReadOnly Property ValidFrom As DateTime
Valor de Propriedade
A DateTime que representa o instante no tempo em que este token de segurança é válido pela primeira vez.
Exemplos
Os exemplos de código usados nos SecurityToken tópicos são retirados da Custom Token amostra. Este exemplo fornece classes personalizadas que permitem o processamento de Simples Web Tokens (SWT). Inclui uma implementação de uma SimpleWebToken classe e uma SimpleWebTokenHandler classe, bem como outras classes que suportam tokens SWT. Para informações sobre esta amostra e outras amostras disponíveis para WIF e sobre onde as descarregar, consulte o Índice de Exemplos de Código WIF. O código seguinte mostra a sobreposição da ValidFrom propriedade.
/// <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 from when the token is valid.
/// </summary>
/// <value>The time from when the token is valid.</value>
public override DateTime ValidFrom
{
get
{
string validFrom = _properties[SimpleWebTokenConstants.ValidFrom];
return GetTimeAsDateTime( String.IsNullOrEmpty( validFrom ) ? "0" : validFrom );
}
}
/// <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 );
}
Observações
Use as ValidFrom propriedades e ValidTo para determinar o período de tempo em que um SecurityToken token é válido. As ValidFrom propriedades e ValidTo representam, respetivamente, o primeiro e o último instante no tempo em que o token de segurança é válido.
Notas para Implementadores
Deve anular a propriedade ValidFrom .