0

セッションの変数がnullまたは空の場合、セッションの有効期限が切れたページでユーザーをリダイレクトしています。

クラス内のコード:

public class SessionUserValidation : IHttpModule
{
    public void Dispose()
 {

}

public void Init(HttpApplication application)
{
    application.PreRequestHandlerExecute += new     
      EventHandler(application_PreRequestHandlerExecute);
}


private void application_PreRequestHandlerExecute(object sender, EventArgs e)
{
    HttpApplication application = (HttpApplication)sender;
    IHttpHandler handler = application.Context.Handler;
    Page reqPage = handler as Page;
    if (reqPage != null)
    {
        reqPage.PreInit += new EventHandler(CustomModule_Init);
    }
}


private void CustomModule_Init(object sender, EventArgs e)
{

    Page Page = sender as Page;
    if (!Page.Request.Url.ToString().Contains("mySessionExpired.aspx") &&
        !Page.Request.Url.ToString().Contains("myLogin.aspx"))
    {
        if (HttpContext.Current.Session["encryptedUserId"] == null)
        {


    HttpContext.Current.Response.Redirect("../Modulenames/mySessionExpired.aspx", false);
        }
    }
}

}

すべてが正常に機能しています。唯一の問題は、ブレッドクラムがページで機能していない URL に何らかの暗号化を追加することです。URL は次のように変換されます。

://thewebsite/Project/ (S(jnd4o5ljdgs0vq1zd4niby4a)) /Pages/mySessionExpired.aspx

このテキストの断片が追加された理由がわかりません...助けてください

――アットゥ

4

0 に答える 0