이것은 매우 사소한 질문 인 것처럼 보이지만 여전히 실행시킬 수 없습니다. 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 안에 있습니다.
내 측면의 추가 정보가 필요하면 알려주십시오.
도와주세요! 사전에
감사합니다.
감사합니다,
사마르
도움이되기를 바랍니다 "form"태그 u hv wr itten "WhatYourAuthNameIs"입니다. 기본적으로 ".ASPXAUTH"입니다. "What AnyYourAuthNameIs"대신에 무엇을 입력해야합니까? – samar
인증 모드는 무엇입니까? ASP.Net 폼 인증을 사용하는 경우 이름 속성 아래에 "MyAuthCookie"가 있습니다. –
나는 당신의 코드 세션이 끝나고 있지만 포스트 백 asp.net이 loginUrl로 자동으로 리다이렉트되지 않는 원인이되는 버튼을 클릭한다고 생각한다. ASP.NET에서 너무 많이 기대하고 있습니까? asp.net이 세션 만료 후 loginUrl로 리디렉션되지 않고 직접해야만합니까? – samar