gpt4 book ai didi

c# - SetPrincipal (@User.Identity.Name) 来自 ASP.Net MVC 中的 cookie

转载 作者:太空宇宙 更新时间:2023-11-03 13:13:08 25 4
gpt4 key购买 nike

我想知道如何在用户单击记住我复选框时通过 cookie 设置 @User.Identity.Name

Cookie 代码

if (_model.RememberMe)
{
HttpCookie cookie = new HttpCookie("login");
cookie.Values.Add("username", _model.Username);
cookie.Expires = DateTime.Now.AddDays(30);
Response.Cookies.Add(cookie);
}

第一次登陆密码

if (Membership.ValidateUser(Username,Password))
{
RememberMe();

FormsAuthentication.RedirectFromLoginPage(Username, false);
}

在第一次登录时设置了 Identity.name,但是当我关闭浏览器并返回该站点时。它无需用户输入凭据即可正确登录,但 Identity.name 为空。

if (Request.Cookies["login"] != null)
{
// We know the automatic log in has worked as it comes into here...
}

当用户通过登录页面后,我需要做什么才能设置 iPrincipal 对象?

谢谢

最佳答案

请尝试下面的代码注意:创建cokies时请在page view上查看不是同一个方法

private void CreateCokies(string userName)
{
var authTicket = new FormsAuthenticationTicket(1, userName, DateTime.Now, DateTime.Now.AddMinutes(30), true, userName);
string cookieContents = FormsAuthentication.Encrypt(authTicket);
var cookie = new HttpCookie(FormsAuthentication.FormsCookieName, cookieContents)
{
Expires = authTicket.Expiration,
Path = FormsAuthentication.FormsCookiePath
};
Response.Cookies.Add(cookie);
}

关于c# - SetPrincipal (@User.Identity.Name) 来自 ASP.Net MVC 中的 cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27604246/

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