gpt4 book ai didi

c# - 如何从我的 asp.net 应用程序注销用户?

转载 作者:行者123 更新时间:2023-11-30 17:13:35 25 4
gpt4 key购买 nike

我正在使用自定义代码在我的 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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com