From 60ece894d5f4f5873a60263e548d5f6282232adc Mon Sep 17 00:00:00 2001
From: yxw <17074267@qq.com>
Date: Tue, 2 Dec 2025 17:49:39 +0800
Subject: [PATCH] chore
---
.../Atomx.Admin.Client/Pages/Login.razor | 2 +-
.../Pages/Systems/AdminList.razor | 7 +++++--
Atomx.Admin/Atomx.Admin.Client/_Imports.razor | 1 +
.../Atomx.Admin/Controllers/SignController.cs | 17 ++++++++++++++---
.../Atomx.Admin/Services/IdentityService.cs | 16 ++++++++--------
5 files changed, 29 insertions(+), 14 deletions(-)
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Login.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Login.razor
index 64a6bbd..858ba0f 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Pages/Login.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Login.razor
@@ -43,7 +43,7 @@ else
- Copyright © 2025-@DateTime.Now.Year Atomx.cn All rights reserved.
+ Copyright © 2025-@DateTime.Now.Year Atomlust.com All rights reserved.
runing as @handler
diff --git a/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/AdminList.razor b/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/AdminList.razor
index 92334fa..7140e34 100644
--- a/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/AdminList.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/Pages/Systems/AdminList.razor
@@ -31,14 +31,17 @@
帐号列表
-
+
+
+
+ @*
没有权限
-
+ *@
diff --git a/Atomx.Admin/Atomx.Admin.Client/_Imports.razor b/Atomx.Admin/Atomx.Admin.Client/_Imports.razor
index 50dbdc0..7e01ee7 100644
--- a/Atomx.Admin/Atomx.Admin.Client/_Imports.razor
+++ b/Atomx.Admin/Atomx.Admin.Client/_Imports.razor
@@ -8,6 +8,7 @@
@using static Microsoft.AspNetCore.Components.Web.RenderMode
@using Microsoft.AspNetCore.Components.Web.Virtualization
@using Microsoft.JSInterop
+@using Atomx.Admin.Client.Components
@using Atomx.Admin.Client
@using Atomx.Admin.Client.Services
@using Atomx.Admin.Client.Layout
diff --git a/Atomx.Admin/Atomx.Admin/Controllers/SignController.cs b/Atomx.Admin/Atomx.Admin/Controllers/SignController.cs
index 2ed9823..518b906 100644
--- a/Atomx.Admin/Atomx.Admin/Controllers/SignController.cs
+++ b/Atomx.Admin/Atomx.Admin/Controllers/SignController.cs
@@ -2,6 +2,7 @@
using Atomx.Admin.Client.Models;
using Atomx.Admin.Client.Validators;
using Atomx.Admin.Services;
+using Atomx.Admin.Utils;
using Atomx.Common.Models;
using Atomx.Common.Utils;
using Atomx.Data;
@@ -10,12 +11,15 @@ using Atomx.Data.Services;
using Atomx.Utils.Extension;
using MapsterMapper;
using Microsoft.AspNetCore.Authentication;
+using Microsoft.AspNetCore.Authentication.Cookies;
using Microsoft.AspNetCore.Authorization;
+using Microsoft.AspNetCore.Components.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.IdentityModel.Tokens;
using System.IdentityModel.Tokens.Jwt;
using System.Security.Claims;
using System.Text;
+using System.Threading.Tasks;
namespace Atomx.Admin.Controllers
{
@@ -30,8 +34,9 @@ namespace Atomx.Admin.Controllers
readonly DataContext _dbContext;
readonly JwtSetting _jwtSetting;
readonly ICacheService _cacheService;
+ readonly AuthenticationStateProvider _authenticationStateProvider;
- public SignController(ILogger logger, IdentityService identityService, IIdCreatorService idCreator, IMapper mapper, DataContext dbContext, JwtSetting jwtSetting, ICacheService cacheService)
+ public SignController(ILogger logger, IdentityService identityService, IIdCreatorService idCreator, IMapper mapper, DataContext dbContext, JwtSetting jwtSetting, ICacheService cacheService, AuthenticationStateProvider authenticationStateProvider)
{
_logger = logger;
_identityService = identityService;
@@ -40,6 +45,7 @@ namespace Atomx.Admin.Controllers
_dbContext = dbContext;
_jwtSetting = jwtSetting;
_cacheService = cacheService;
+ _authenticationStateProvider = authenticationStateProvider;
}
///
@@ -48,7 +54,7 @@ namespace Atomx.Admin.Controllers
///
[HttpPost("in")]
[AllowAnonymous]
- public IActionResult Login(LoginModel model)
+ public async Task Login(LoginModel model)
{
var validator = new LoginModelValidator();
var validation = validator.Validate(model);
@@ -100,10 +106,12 @@ namespace Atomx.Admin.Controllers
new Claim(ClaimKeys.Permission, role?.Permission??string.Empty)
};
+ var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme);
+
var tokenDescriptor = new SecurityTokenDescriptor
{
- Subject = new ClaimsIdentity(claims),
+ Subject = claimsIdentity,
Expires = DateTime.UtcNow.AddMinutes(_jwtSetting.AccessTokenExpirationMinutes),
SigningCredentials = credentials,
@@ -119,6 +127,9 @@ namespace Atomx.Admin.Controllers
user.LastIp = _identityService.GetClientIp();
user.LoginCount++;
+ //((PersistingRevalidatingAuthenticationStateProvider) _authenticationStateProvider).
+
+ await HttpContext.SignInAsync(CookieAuthenticationDefaults.AuthenticationScheme, new ClaimsPrincipal(claimsIdentity));
return new JsonResult(loginResult);
diff --git a/Atomx.Admin/Atomx.Admin/Services/IdentityService.cs b/Atomx.Admin/Atomx.Admin/Services/IdentityService.cs
index 3b14156..58a30f3 100644
--- a/Atomx.Admin/Atomx.Admin/Services/IdentityService.cs
+++ b/Atomx.Admin/Atomx.Admin/Services/IdentityService.cs
@@ -55,11 +55,11 @@ namespace Atomx.Admin.Services
///
public long GetUserId()
{
- var userIdClaim = _httpContextAccessor.HttpContext?.User.FindFirst(ClaimKeys.Id);
- return userIdClaim != null ? long.Parse(userIdClaim.Value) : 0;
+ //var userIdClaim = _httpContextAccessor.HttpContext?.User.FindFirst(ClaimKeys.Id);
+ //return userIdClaim != null ? long.Parse(userIdClaim.Value) : 0;
- //var id = _httpContextAccessor.HttpContext?.User?.Claims?.SingleOrDefault(p => p.Type == ClaimKeys.Id)?.Value ?? "0";
- //return id.ToLong();
+ var id = _httpContextAccessor.HttpContext?.User?.Claims?.SingleOrDefault(p => p.Type == ClaimKeys.Id)?.Value ?? "0";
+ return id.ToLong();
}
///
@@ -68,11 +68,11 @@ namespace Atomx.Admin.Services
///
public int GetUserRoleId()
{
- var userIdClaim = _httpContextAccessor.HttpContext?.User.FindFirst(ClaimKeys.Role);
- return userIdClaim != null ? int.Parse(userIdClaim.Value) : 0;
+ //var userIdClaim = _httpContextAccessor.HttpContext?.User.FindFirst(ClaimKeys.Role);
+ //return userIdClaim != null ? int.Parse(userIdClaim.Value) : 0;
- //var id = _httpContextAccessor.HttpContext?.User?.Claims?.SingleOrDefault(p => p.Type == ClaimTypes.Sid)?.Value ?? "0";
- //return id.ToLong();
+ var id = _httpContextAccessor.HttpContext?.User?.Claims?.SingleOrDefault(p => p.Type == ClaimKeys.Role)?.Value ?? "0";
+ return id.ToInt();
}
///