5

我在 asp.net 中使用 LoginControl 登录我的网站,但是当注销时使用登录状态或 session.Abandon 或 .sign out ,有白色退格,我的主页已加载且不安全。

请帮助我在我的项目中使用真正的注销。

4

5 回答 5

9

使用FormsAuthentication.SignOut();如下:

protected void LogoutButton_Click(object sender, EventArgs e)
{
    FormsAuthentication.SignOut();
    Response.Redirect("~/Login.aspx");
}
于 2013-10-29T07:25:18.210 回答
3

像这样使用Session.Clear()

protected void Button_Click(object sender, EventArgs e)
{
    Session.Clear();
    Response.Redirect("Login.aspx");
}
于 2013-10-29T08:13:44.613 回答
2

主页正在从浏览器缓存加载,使用以下元数据标签强制浏览器在退出页面后清除缓存

<head runat="server">
<meta http-equiv="cache-control" content="no-cache" />
<meta http-equiv="Expires" content="0" />
<meta http-equiv="cache-control" content="no-store" />
<meta http-equiv="cache-control" content="must-revalidate" />
<meta http-equiv="cache-control" content="proxy-revalidate" />

于 2013-10-29T08:21:07.833 回答
2

没有一个对我有用,但这确实有效。

Context.GetOwinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
于 2017-09-06T12:46:41.533 回答
1

我找到了我在母版页中使用的解决方案

if (Membership.GetUser() != null)
    .....
else Response.Redirect("Login.aspx")

和注销按钮的代码隐藏:

FormsAuthentication.SignOut();
Response.Redirect("Login.aspx");

谢谢你的帮助!

于 2013-10-31T13:47:48.900 回答