0

이것은 매우 사소한 질문 인 것처럼 보이지만 여전히 실행시킬 수 없습니다. asp.net 웹 응용 프로그램을 구축하고 여기서 폼 인증을 사용하고 있습니다. 다음 단계를 따라야합니다. Web.config의이에서ASP.NET은 세션 종료 후 자동으로 defaultURL로 리디렉션되지 않습니다.

1) 나는 사용자 지정 인증을 사용하고 default.aspx에있는 항목

 

    <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)이며, 인증 후 defaultUrl가 Web.config의 언급에 내가 리디렉션하고 전달합니다. 다음은 코드입니다. 이것은 잘 작동합니다.

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

로그인 1은 asp.net의 로그인 제어입니다.

3) StockTips.aspx (defaulturl)에서 Logout linkbutton click 이벤트에서 자동으로 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(); 
     } 

Session [ "test"]의 값도 그대로 유지됩니다. 위의 주석 된 코드를 시도했습니다. 세션이 일단 자동으로 loginurl로 리다이렉트되면 꽤 확실하기 때문에 loginurl에 Response.Redirect를 명시 적으로 작성하고 싶지는 않습니다. 하지만 어떻게 든 작동하지 않습니다.

다음 정보가 도움이 될지 모르지만 여전히 추가 할 생각이 있습니다. default.aspx와 stocktips.aspx가 모두 열리는 마스터 페이지가 있습니다. LinkButton은 마스터 페이지가 아니라 stocktips.aspx 안에 있습니다.

내 측면의 추가 정보가 필요하면 알려주십시오.

도와주세요! 사전에

감사합니다.

감사합니다,

사마르

답변

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

도움이되기를 바랍니다 "form"태그 u hv wr itten "WhatYourAuthNameIs"입니다. 기본적으로 ".ASPXAUTH"입니다. "What AnyYourAuthNameIs"대신에 무엇을 입력해야합니까? – samar

+0

인증 모드는 무엇입니까? ASP.Net 폼 인증을 사용하는 경우 이름 속성 아래에 "MyAuthCookie"가 있습니다. –

+0

나는 당신의 코드 세션이 끝나고 있지만 포스트 백 asp.net이 loginUrl로 자동으로 리다이렉트되지 않는 원인이되는 버튼을 클릭한다고 생각한다. ASP.NET에서 너무 많이 기대하고 있습니까? asp.net이 세션 만료 후 loginUrl로 리디렉션되지 않고 직접해야만합니까? – samar