🔥 移动jsonConverterUtil目录

This commit is contained in:
不做码农
2023-07-17 13:02:56 +08:00
parent 1f9199bdd2
commit 1ba31c17cf
2 changed files with 2 additions and 36 deletions

View File

@@ -1,34 +0,0 @@
using Microsoft.AspNetCore.Authentication;
using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Authentication.JwtBearer;
using Microsoft.AspNetCore.Http;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
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();
}
}
}

View File

@@ -1,37 +0,0 @@
using System;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace ZR.Admin.WebApi.Framework
{
public class JsonConverterUtil
{
public class DateTimeNullConverter : JsonConverter<DateTime?>
{
public override DateTime? Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
=> string.IsNullOrEmpty(reader.GetString()) ? default : ParseDateTime(reader.GetString());
public override void Write(Utf8JsonWriter writer, DateTime? value, JsonSerializerOptions options)
=> writer.WriteStringValue(value?.ToString("yyyy-MM-dd HH:mm:ss"));
}
public class DateTimeConverter : JsonConverter<DateTime>
{
public override DateTime Read(ref Utf8JsonReader reader, Type typeToConvert, JsonSerializerOptions options)
{
var dateTime = ParseDateTime(reader.GetString());
return dateTime == null ? DateTime.MinValue : dateTime.Value;
}
public override void Write(Utf8JsonWriter writer, DateTime value, JsonSerializerOptions options)
=> writer.WriteStringValue(value.ToString("yyyy-MM-dd HH:mm:ss"));
}
public static DateTime? ParseDateTime(string dateStr)
{
if (System.Text.RegularExpressions.Regex.IsMatch(dateStr, @"^\d{4}[/-]") && DateTime.TryParse(dateStr, null,System.Globalization.DateTimeStyles.AssumeLocal, out var dateVal))
return dateVal;
return null;
}
}
}