SessionIDManager.Validate(String) SessionIDManager.Validate(String) SessionIDManager.Validate(String) SessionIDManager.Validate(String) Method

定義

セッション識別子が有効かどうかを示す値を取得します。Gets a value indicating whether a session identifier is 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

パラメーター

id
String String String String

検証するセッション識別子。The session identifier to validate.

戻り値

セッション識別子が有効な場合は true。それ以外の場合は falsetrue if the session identifier is valid; otherwise, false.

実装

次のコード例は、継承するクラスを示しています、SessionIDManagerクラスと上書き、CreateSessionIDValidateメソッドを指定し、検証するメソッドを持つ、Guidとして、SessionIDします。The following code example shows a class that inherits the SessionIDManager class and overrides the CreateSessionID and Validate methods with methods that supply and validate a Guid as the 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
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 HTTP モジュールが次の例に示すように、カスタム クラスを使用して、Web.config ファイル。To use the custom class demonstrated in this example, replace the SessionID HTTP module in your Web.config file with your custom class, as shown in the following example.

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

注釈

このメソッドは、アプリケーション コードから呼び出すためのものではありません。This method is not intended to be called from application code.

Validateメソッドを検証する、指定されたid24 文字の文字列を小文字から成る、z および数字の 0 ~ 5 とその最大の長さ、セッションに ID は 80 文字以内します。The Validate method verifies that the supplied id is a 24-character string consisting of lowercase characters from a to z and numbers from 0 to 5 and that the maximum length of the session ID does not exceed 80 characters.

GetSessionIDメソッドの呼び出し、Validateメソッドに提供されたセッション識別子が正しくフォーマットされていることを確認、HTTP 要求からセッション識別子を取得するときにします。The GetSessionID method calls the Validate method when retrieving a session identifier from an HTTP request, to ensure that the supplied session identifier is properly formatted.

注意 (継承者)

ASP.NET セッション状態が継承するクラスを作成して使用するカスタムのセッション識別子を指定することができます、SessionIDManagerクラスとオーバーライドを行う、CreateSessionID(HttpContext)Validate(String)独自のカスタム実装を持つメソッド。You can supply a custom session identifier to be used by ASP.NET session state by creating a class that inherits the SessionIDManager class and overriding the CreateSessionID(HttpContext) and Validate(String) methods with your own custom implementation. 作成する場合、カスタムのセッション識別子、セッション ID は 80 文字に制限されます、SessionIDManagerクラス。Even when you create a custom session identifier, the session ID is limited to 80 characters by the SessionIDManager class.

適用対象

こちらもご覧ください