이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

SecurityToken.ValidTo 속성

 

게시 날짜: 2016년 11월

이 보안 토큰이 유효한 기간의 종료 시간을 가져옵니다.

네임스페이스:   System.IdentityModel.Tokens
어셈블리:  System.IdentityModel(System.IdentityModel.dll에 있음)

public abstract DateTime ValidTo { get; }

속성 값

Type: System.DateTime

이 보안 토큰이 유효한 기간의 종료 시간을 나타내는 DateTime입니다.

ValidFrom 토큰이 유효한 기간을 확인하려면 ValidToSecurityToken 속성을 사용합니다. ValidFromValidTo 속성은 각각 보안 토큰이 유효한 기간의 시작 시간과 종료 시간을 나타냅니다.

상속자 참고 사항:

재정의 해야는 ValidTo 속성입니다.

에 사용 되는 코드 예제는 SecurityToken 항목에서 가져온 것은 Custom Token 샘플입니다. 이 샘플에서는 간단한 웹 토큰 (SWT)의 처리를 사용 하는 사용자 지정 클래스를 제공 합니다. 구현을 포함 한 SimpleWebToken 클래스 및 SimpleWebTokenHandler SWT 토큰을 지원 하는 다른 클래스와 클래스입니다. 에 대 한 내용은이 샘플 및 다른 샘플을 사용할 수 있는 WIF에 대 한 정보와 다운로드 위치를 참조 하십시오. WIF 코드 샘플 인덱스합니다. 다음 코드는 재정의 보여 줍니다.는 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 upto which the token is valid.</value>
public override DateTime ValidTo
{
    get
    {
        string expiryTime = _properties[SimpleWebTokenConstants.ExpiresOn];
        return GetTimeAsDateTime( String.IsNullOrEmpty( expiryTime ) ? "0" : expiryTime );
    }
}
/// <summary>
/// Convert 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 );
} 

.NET Framework
3.0 이후 사용 가능
맨 위로 이동
표시: