セッションの変数が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
このテキストの断片が追加された理由がわかりません...助けてください
――アットゥ