SessionIDManager.Validate(String) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.