111,097
社区成员




services.AddAuthentication(
Sub(options)
options.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme
End Sub).AddCookie(Sub(options)
options.ExpireTimeSpan = TimeSpan.FromHours(8)
options.SlidingExpiration = False
End Sub)
await HttpContext.SignInAsync(
CookieAuthenticationDefaults.AuthenticationScheme,
new ClaimsPrincipal(claimsIdentity),
new AuthenticationProperties
{
ExpiresUtc = DateTime.UtcNow.AddMinutes(20)//这地方Cookie的过期时间。
});
[/quote]
这个我后来加了,IsPersistent也设置为true,这样哪怕浏览器关了,再次打开都能是登录状态,查看浏览器cookies过期时间也是从session变成具体时间了,但还是没到设置的时间就会丢失。
await HttpContext.SignInAsync(
CookieAuthenticationDefaults.AuthenticationScheme,
new ClaimsPrincipal(claimsIdentity),
new AuthenticationProperties
{
ExpiresUtc = DateTime.UtcNow.AddMinutes(20)//这地方Cookie的过期时间。
});
services.AddAuthentication(o => { }).AddCookie(o=> {
o.ExpireTimeSpan = TimeSpan.MaxValue;
});
'创建一个FormsAuthenticationTicket,它包含登录名以及额外的用户数据。
Dim ticket = New FormsAuthenticationTicket(du.Id.ToString, False, 60 * 8)
'加密Ticket,变成一个加密的字符串。
Dim cookieValue = FormsAuthentication.Encrypt(ticket)
'根据加密结果创建登录Cookie
Dim cookie = New HttpCookie(FormsAuthentication.FormsCookieName, cookieValue)
Response.Cookies.Remove(cookie.Name)
Response.Cookies.Add(cookie)
Return Redirect(If(String.IsNullOrEmpty(lvm.ReturnUrl), "/Console", lvm.ReturnUrl))