使用母版页和 Windows 身份验证的 asp.net c# 中的注销或注销问题

发布于 2024-07-25 06:46:35 字数 569 浏览 2 评论 0原文

我是asp.net新手,我的问题是使用母版页和窗口身份验证在我的应用程序中面临注销问题。 在我从应用程序注销后,如果我使用浏览器后退按钮,它会再次返回到签名页面,然后我单击任何控件,然后它才会返回到注销阶段,但我不想不必要地显示已记录的页面。

我正在使用 href、document.location.replace(page)、response.write("mypage.aspx") 这些技术进行导航,并且我在所有页面中使用会话。

注意:我在母版页顶部本身使用登录和注销...因此,如果我检查会话是否有空重定向到主页(这也是一个内容页),那么我不会让主页自行登录,因为发生无限循环...

当我搜索时,我有一些编码来清除缓存,但我遇到的问题是在我登录并导航到某些页面之后,然后我单击浏览器后退按钮而不注销,它显示页面已过期单击刷新以获取数据返回....

最后,我需要像谷歌注销这样的解决方案,即:从谷歌页面注销后,如果我们使用返回,它只显示主页。 请告知单击浏览器后退按钮时触发了哪个事件(如果是)如何验证会话并重定向到注销页面。

请帮助我,我将在一周内面临这些问题......

提前感谢大家......

I am new in asp.net, My problem is facing logout problem in myappication using master page and window authentication. After i signout from my application if i use browser back button it again goes back to signed page after that i click any control then only it is goes back to the logout stage but i want to dont show the logged page unnessarily.

i am using href,document.location.replace(page),response.write("mypage.aspx") these technique for naviagation purpose and i am using session in all pages.

Note: I am using login and logout in master page top itself...so if i check the session for null redirect to home page which is also a content page then i am not getting the home page it self to login because infinite looping occurs...

when i am searching i got some coding to clear the cache but i a am facing problem that is after i logged and navigate to some of pages then i click browser backbutton without signout it is showing page is expired Click refresh to get the data back....

Finally, I need solution like google signout i.e: after signout from google page then if we use back it shows only the home page. and please tell which event is fired while clicking the browser backbutton if yes how to validate session and redirect to logout page.

Please help me i am facing these problem in one-week....

Thanks in advance to everyone..

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

瑾兮 2024-08-01 06:46:35

解决此问题的最简单方法是禁用页面缓存。

应该可以帮助您。

Easiest way to resolve this problem is to disable the cache of the page.

This should help you out.

開玄 2024-08-01 06:46:35

登录页面

protected void Page_Load(object sender, EventArgs e)
{
    Session["imp"] = "0";            
}

protected void LinkButton1_Click(object sender, EventArgs e)
{
    Session["imp"] = "1";
    Response.Redirect("AdminHome.aspx");
}

注销页面

protected void Page_Load(object sender, EventArgs e)
{
    Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetNoStore();
    if (Session["imp"].ToString() == "1")
    { }
    else
    {
        Response.Redirect("HomePage.aspx");
    }  
}

protected void LinkButton1_Click(object sender, EventArgs e)
{
    Session["imp"] = "0";
    Session.Abandon();
    Response.Clear();
    Response.Redirect("HomePage.aspx");
}

Login Page

protected void Page_Load(object sender, EventArgs e)
{
    Session["imp"] = "0";            
}

protected void LinkButton1_Click(object sender, EventArgs e)
{
    Session["imp"] = "1";
    Response.Redirect("AdminHome.aspx");
}

Log Out Page

protected void Page_Load(object sender, EventArgs e)
{
    Response.Cache.SetExpires(DateTime.UtcNow.AddMinutes(-1));
    Response.Cache.SetCacheability(HttpCacheability.NoCache);
    Response.Cache.SetNoStore();
    if (Session["imp"].ToString() == "1")
    { }
    else
    {
        Response.Redirect("HomePage.aspx");
    }  
}

protected void LinkButton1_Click(object sender, EventArgs e)
{
    Session["imp"] = "0";
    Session.Abandon();
    Response.Clear();
    Response.Redirect("HomePage.aspx");
}
巡山小妖精 2024-08-01 06:46:35

您可以考虑在母版页 Page_Load 中检查登录凭据(但是它们在您的解决方案中实现),如果它们不存在,则将 Response.Redirect() 重定向到登录或主页。

编辑:我不确定使用后退按钮时是否引发 OnLoad 事件。 这种方法可能行不通。

You could consider in the Masterpage Page_Load to check for login credentials (however they are implemented in your solution) and if they are not present, to Response.Redirect() to the login or home page.

Edit: I'm not sure whether the OnLoad event is raised when using the back button. This approach may not work.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文