Bagikan melalui


SessionIDManager.Validate(String) Metode

Definisi

Mendapatkan nilai yang menunjukkan apakah pengidentifikasi sesi valid.

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

Parameter

id
String

Pengidentifikasi sesi untuk memvalidasi.

Mengembalikan

true jika pengidentifikasi sesi valid; jika tidak, false.

Penerapan

Contoh

Contoh kode berikut menunjukkan kelas yang mewarisi SessionIDManager kelas dan mengambil CreateSessionID alih metode dan Validate dengan metode yang menyediakan dan memvalidasi Guid sebagai 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

Untuk menggunakan kelas kustom yang ditunjukkan dalam contoh ini, ganti SessionID modul HTTP di file Web.config Anda dengan kelas kustom Anda, seperti yang ditunjukkan dalam contoh berikut.

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

Keterangan

Metode ini tidak dimaksudkan untuk dipanggil dari kode aplikasi.

Metode ini Validate memverifikasi bahwa yang disediakan id adalah string 24 karakter yang terdiri dari karakter huruf kecil dari a hingga z dan angka dari 0 hingga 5 dan bahwa panjang maksimum ID sesi tidak melebihi 80 karakter.

Metode ini GetSessionID memanggil Validate metode saat mengambil pengidentifikasi sesi dari permintaan HTTP, untuk memastikan bahwa pengidentifikasi sesi yang disediakan diformat dengan benar.

Catatan Bagi Inheritor

Anda dapat menyediakan pengidentifikasi sesi kustom untuk digunakan oleh status sesi ASP.NET dengan membuat kelas yang mewarisi SessionIDManager kelas dan mengambil CreateSessionID(HttpContext) alih metode dan Validate(String) dengan implementasi kustom Anda sendiri. Bahkan saat Anda membuat pengidentifikasi sesi kustom, ID sesi dibatasi hingga 80 karakter menurut SessionIDManager kelas.

Berlaku untuk

Lihat juga