upgrade to c#12

This commit is contained in:
2024-03-23 07:29:43 +08:00
parent 47a48d0103
commit cb291691d5
21 changed files with 1013 additions and 1100 deletions
+33 -45
View File
@@ -1,60 +1,48 @@
using System;
using System.Text.Json;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Caching.Distributed;
using SimApi.Communications;
namespace SimApi.Helpers
namespace SimApi.Helpers;
/// <summary>
/// 认证助手
/// </summary>
public class SimApiAuth(IDistributedCache cache)
{
/// <summary>
/// 认证助手
/// 产生一个Token记录并返回Token
/// </summary>
public class SimApiAuth
/// <param name="id"></param>
/// <returns></returns>
public string Login(string id, string type = "user", string token = null)
{
private IDistributedCache Cache { get; }
return Login(id, new[] { type }, token);
}
public SimApiAuth(IDistributedCache cache)
{
Cache = cache;
}
/// <summary>
/// 产生一个Token并记录用户ID角色[多角色]
/// </summary>
/// <param name="id"></param>
/// <param name="type"></param>
/// <returns></returns>
public string Login(string id, string[] type, string uuid = null)
{
uuid ??= Guid.NewGuid().ToString();
var loginItem = new SimApiLoginItem(id, type);
cache.SetString(uuid, JsonSerializer.Serialize(loginItem));
return uuid;
}
/// <summary>
/// 产生一个Token记录并返回Token
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
public string Login(string id, string type = "user", string token = null)
/// <summary>
/// 退出登陆
/// </summary>
/// <param name="uuid">登陆标识</param>
public void Logout(string uuid)
{
if (!string.IsNullOrEmpty(uuid))
{
return Login(id, new[]
{
type
}, token);
}
/// <summary>
/// 产生一个Token并记录用户ID角色[多角色]
/// </summary>
/// <param name="id"></param>
/// <param name="type"></param>
/// <returns></returns>
public string Login(string id, string[] type, string uuid = null)
{
uuid ??= Guid.NewGuid().ToString();
var loginItem = new SimApiLoginItem(id, type);
Cache.SetString(uuid, JsonSerializer.Serialize(loginItem));
return uuid;
}
/// <summary>
/// 退出登陆
/// </summary>
/// <param name="uuid">登陆标识</param>
public void Logout(string uuid)
{
if (!string.IsNullOrEmpty(uuid))
{
Cache.Remove(uuid);
}
cache.Remove(uuid);
}
}
}