作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在使用自定义代码在我的 Web 应用程序中登录和注销用户。点击登录按钮,执行以下代码:
if (Membership.ValidateUser(txtUserEmail.Text, txtUserPass.Text))
{
HttpContext.Current.Profile.Initialize(txtUserEmail.Text.Trim(), true);
}
然后我在每个页面的预初始化时检查 profile.Username 以检查用户是否登录。但是现在我不知道该怎么做才能注销用户,以至于配置文件被设置为 null 之类的。我正在通过点击注销按钮来尝试所有这些:
protected void lnkBtnLogout_Click(object sender, EventArgs e)
{
Session.Abandon();
Request.Cookies.Clear();
FormsAuthentication.SignOut();
var p = HttpContext.Current.Profile;
Response.Redirect("/Default.aspx");
}
我使用变量 p 只是为了检查配置文件是否已重置,但它仍然具有登录用户的所有值。那么,我应该怎么做才能重置配置文件并注销用户???
最佳答案
在 SignOut() 之后立即进行重定向并停止任何其他操作,因此页面停止更新任何其他操作。
所以代码将是。
protected void lnkBtnLogout_Click(object sender, EventArgs e)
{
Session.Abandon();
Request.Cookies.Clear();
FormsAuthentication.SignOut();
Response.Redirect("/Default.aspx", true);
}
重定向后检查用户是否仍处于登录状态。用户在调用 SignOut 后并未注销,而是在最终 cookie 结束并刷新后,并在下一个页面加载时注销。
关于c# - 如何从我的 asp.net 应用程序注销用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9621543/
我是一名优秀的程序员,十分优秀!