다음을 통해 공유


SessionIDManager.Validate(String) 메서드

정의

세션 식별자가 유효한지 여부를 나타내는 값을 가져옵니다.

public:
 virtual bool Validate(System::String ^ id);
public virtual bool Validate (string id);
abstract member Validate : string -> bool
override this.Validate : string -> bool
Public Overridable Function Validate (id As String) As Boolean

매개 변수

id
String

유효성을 검사할 식별자입니다.

반환

세션 식별자가 유효하면 true이고, 그렇지 않으면 false입니다.

구현

예제

다음 코드 예제에서는 상속 되는 클래스를 보여 줍니다.는 SessionIDManager 클래스 및 재정의 CreateSessionIDValidate 제공 하 고 유효성을 검사 하는 메서드를 사용 하 여 메서드를 Guid 으로 SessionID합니다.

using System;
using System.Configuration;
using System.Web.Configuration;
using System.Web;
using System.Web.SessionState;

namespace Samples.AspNet.Session
{

  public class GuidSessionIDManager : SessionIDManager
  {

    public override string CreateSessionID(HttpContext context)
    {
      return Guid.NewGuid().ToString();
    }

    public override bool Validate(string id)
    {
      try
      {
        Guid testGuid = new Guid(id);

        if (id == testGuid.ToString())
          return true;
      }
      catch
      {
      }

      return false;
    }
  }
}
Imports System.Configuration
Imports System.Web.Configuration
Imports System.Web
Imports System.Web.SessionState


Namespace Samples.AspNet.Session

  Public Class GuidSessionIDManager
    Inherits SessionIDManager

    Public Overrides Function CreateSessionID(context As HttpContext) As String
      Return Guid.NewGuid().ToString()
    End Function

    Public Overrides Function Validate(id As String) As Boolean
      Try
        Dim testGuid As Guid = New Guid(id)

        If id = testGuid.ToString() Then _
          Return True
      Catch
      
      End Try

      Return False
    End Function

  End Class

End Namespace

이 예제에서 설명한 사용자 지정 클래스를 사용 하려면 대체는 SessionID 다음 예와에서 같이 사용자 지정 클래스를 사용 하 여 Web.config 파일에서 HTTP 모듈입니다.

<httpModules>
  <remove name="SessionID" />
  <add name="SessionID"
       type="Samples.AspNet.Session.GuidSessionIDManager" />
</httpModules>

설명

이 메서드는 애플리케이션 코드에서 호출할 수 없습니다.

합니다 Validate 메서드를 확인 하는 제공 된 id 24-문자열에서 소문자 자 길이의 z와 숫자로 0에서 5 일을 하 고 최대 길이 세션의 ID 80 자를 초과 하지 않습니다.

GetSessionID 메서드 호출을 Validate 메서드 제공된 된 세션 식별자의 형식이 올바르게 지정 되었는지 확인 하는 HTTP 요청에서 세션 식별자를 검색 하는 경우.

상속자 참고

상속 된 클래스를 만들어 ASP.NET 세션 상태에서 사용할 사용자 지정 세션 식별자를 제공할 수 있습니다 합니다 SessionIDManager 클래스를 CreateSessionID(HttpContext)Validate(String) 사용자 고유의 사용자 지정 구현으로 메서드. 만들 때도 사용자 지정 세션 식별자를 세션 ID에서 80 자로 제한 됩니다.는 SessionIDManager 클래스입니다.

적용 대상

추가 정보