0

Это, кажется, очень мелочный вопрос, но все же я не могу его запустить. Я создаю веб-приложение asp.net, и здесь я использую проверку подлинности. Следующие шаги я выполнил.ASP.NET не перенаправляет на defaultURL автоматически после окончания сессии

1) В web.config этого является запись

 

    <authentication mode="Forms"> 
      <forms loginUrl="Default.aspx" timeout="30" defaultUrl="StockTips.aspx" cookieless="UseCookies" 
       slidingExpiration="true" /> 
     </authentication> 
     <sessionState mode="InProc" cookieless="false" timeout="30" /> 

2) В default.aspx я использовал пользовательскую проверку подлинности и после проверки подлинности проходит я перенаправлении defaultUrl упоминается в web.config. Ниже приведен код. Это работает нормально.

 
Session["test"] = "testing"; 
FormsAuthentication.RedirectFromLoginPage(Login1.UserName, true); 

Login1 является администратором входа в систему asp.net.

3) В StockTips.aspx (который является defaulturl), в поле Logout linkbutton click event Я пытаюсь отказаться от сеанса, чтобы он автоматически перенаправлялся на loginurl (default.aspx). Этого не происходит. Он остается на той же странице, то есть StockTips.aspx. Ниже приведен код.

 
     protected void lnkLogout_Click(object sender, EventArgs e) 
     { 
      string str = Session["test"].ToString(); 

      Session.Abandon(); 
      //Session.RemoveAll(); 
      //Session.Clear(); 
      //Response.Cookies.Remove("ASP.NET_SessionId"); 
      //Response.Cookies["ASP.NET_SessionId"].Value = string.Empty; 
      //Response.Cookies.Add(new HttpCookie("ASP.NET_SessionId", "")); 

      //FormsAuthentication.SignOut(); 

      string str1 = Session["test"].ToString(); 
     } 

Значение в сеансе ["test"] также сохраняется. Я пробовал прокомментированный код выше. Я не хочу явно писать Response.Redirect для loginurl, так как я уверен, что после того, как сессия будет отключена, она автоматически перенаправляется на loginurl. Но почему-то это не работает.

Я не уверен, поможет ли следующая информация, но все же подумал о ее добавлении. У меня есть главная страница, в которой открывается default.aspx и stocktips.aspx. LinkButton внутри sharetips.aspx, а не на главной странице.

Пожалуйста, дайте мне знать, если вам нужна дополнительная информация с моей стороны.

Пожалуйста, помогите!

Заранее благодарен.

С уважением,

Samar

ответ

0

конфигурационного

<forms name="WhateverYourAuthNameIs" 
    loginUrl="~/HomePage.aspx" 
    defaultUrl="~/Default.aspx" 
    protection="All" path="/" 
    cookieless="AutoDetect"/> 

даже попробовать Js код также

<body onload="window.setTimeout(function(){document.location.href='/Home.aspx';},30000);"> 

Надежда Это помогает вам

+0

В поле "Имя" атрибут тег «форма» u hv writt ru "WhateverYourAuthNameIs". По умолчанию это «.ASPXAUTH». Что мне следует вводить вместо «WhateverYourAuthNameIs»? – samar

+0

Каков ваш режим аутентификации? Если вы используете аутентификацию форм ASP.Net, то под атрибутом name указывается «MyAuthCookie». –

+0

Я думаю, что ваш сеанс кода заканчивается, но при нажатии любой кнопки, которая вызывает обратную передачу, asp.net не автоматически перенаправляется на loginUrl. Я слишком много ожидаю от ASP.NET? Это то, что asp.net не перенаправляет на loginUrl после истечения срока действия сеанса и что я должен сделать это сам? – samar

Смежные вопросы