我在 asp.net 中使用 LoginControl 登录我的网站,但是当注销时使用登录状态或 session.Abandon 或 .sign out ,有白色退格,我的主页已加载且不安全。
请帮助我在我的项目中使用真正的注销。
我在 asp.net 中使用 LoginControl 登录我的网站,但是当注销时使用登录状态或 session.Abandon 或 .sign out ,有白色退格,我的主页已加载且不安全。
请帮助我在我的项目中使用真正的注销。
使用FormsAuthentication.SignOut();
如下:
protected void LogoutButton_Click(object sender, EventArgs e)
{
FormsAuthentication.SignOut();
Response.Redirect("~/Login.aspx");
}
像这样使用Session.Clear()
:
protected void Button_Click(object sender, EventArgs e)
{
Session.Clear();
Response.Redirect("Login.aspx");
}
主页正在从浏览器缓存加载,使用以下元数据标签强制浏览器在退出页面后清除缓存
<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" />
没有一个对我有用,但这确实有效。
Context.GetOwinContext().Authentication.SignOut(DefaultAuthenticationTypes.ApplicationCookie);
我找到了我在母版页中使用的解决方案
if (Membership.GetUser() != null)
.....
else Response.Redirect("Login.aspx")
和注销按钮的代码隐藏:
FormsAuthentication.SignOut();
Response.Redirect("Login.aspx");
谢谢你的帮助!