优化登录用户权限缓存

This commit is contained in:
不做码农
2022-04-10 16:52:10 +08:00
parent 3eafab8292
commit 846652c1af
6 changed files with 51 additions and 42 deletions

View File

@@ -1,5 +1,6 @@
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
@@ -11,7 +12,23 @@ namespace ZR.Admin.WebApi.Framework
{
public class CookieUtil
{
public static void WhiteCookie(HttpContext context, List<Claim> claims)
{
//2.创建声明主题 指定认证方式 这里使用cookie
var claimsIdentity = new ClaimsIdentity(claims, "Login");
Task.Run(async () =>
{
await context.SignInAsync(
JwtBearerDefaults.AuthenticationScheme,//这里要注意的是HttpContext.SignInAsync(AuthenticationType,…) 所设置的Scheme一定要与前面的配置一样这样对应的登录授权才会生效。
new ClaimsPrincipal(claimsIdentity),
new AuthenticationProperties()
{
IsPersistent = true,
AllowRefresh = true,
ExpiresUtc = DateTimeOffset.Now.AddDays(1),//有效时间
});
}).Wait();
}
}
}