From 20b95da384296d9f4c3a85162e93507ede69cae3 Mon Sep 17 00:00:00 2001 From: xiaolipro <2357729423@qq.com> Date: Tue, 9 Jun 2026 15:37:52 +0800 Subject: [PATCH] 1 --- src/Oms.Tests/SimpleCurrentUserTests.cs | 73 ------------------------ src/SimpleAdmin.Api/SimpleCurrentUser.cs | 54 ------------------ 2 files changed, 127 deletions(-) delete mode 100644 src/Oms.Tests/SimpleCurrentUserTests.cs delete mode 100644 src/SimpleAdmin.Api/SimpleCurrentUser.cs diff --git a/src/Oms.Tests/SimpleCurrentUserTests.cs b/src/Oms.Tests/SimpleCurrentUserTests.cs deleted file mode 100644 index 786a1ce..0000000 --- a/src/Oms.Tests/SimpleCurrentUserTests.cs +++ /dev/null @@ -1,73 +0,0 @@ -using System.Security.Claims; -using Fake.Security.Claims; -using FluentAssertions; -using Oms.Tests.Support; -using SimpleAdmin.Api; - -namespace Oms.Tests; - -public class SimpleCurrentUserTests -{ - [Fact] - public void GetId_ShouldPreferNumericUserIdClaim() - { - var currentUser = CreateCurrentUser( - [ - new Claim(FakeClaimTypes.UserId, "42"), - new Claim("mapId", "99"), - new Claim("customerId", "100") - ]); - - currentUser.GetId().Should().Be(42); - currentUser.GetId().Should().Be(42); - } - - [Fact] - public void GetId_ShouldFallBackToMapIdWhenUserIdIsGuid() - { - var currentUser = CreateCurrentUser( - [ - new Claim(FakeClaimTypes.UserId, Guid.NewGuid().ToString()), - new Claim("mapId", "88") - ]); - - currentUser.GetId().Should().Be(88); - currentUser.GetId().Should().Be(88); - } - - [Fact] - public void GetId_ShouldFallBackToCustomerIdWhenMapIdMissing() - { - var currentUser = CreateCurrentUser( - [ - new Claim(FakeClaimTypes.UserId, Guid.NewGuid().ToString()), - new Claim("customerId", "77") - ]); - - currentUser.GetId().Should().Be(77); - } - - [Fact] - public void Id_ShouldKeepGuidIdentitySemantics() - { - var guid = Guid.NewGuid(); - var currentUser = CreateCurrentUser([new Claim(FakeClaimTypes.UserId, guid.ToString())]); - - currentUser.Id.Should().Be(guid); - } - - [Fact] - public void GetId_ShouldReturnZeroWhenNoNumericClaimsExist() - { - var currentUser = CreateCurrentUser([new Claim(FakeClaimTypes.UserId, Guid.NewGuid().ToString())]); - - currentUser.GetId().Should().Be(0); - } - - private static SimpleCurrentUser CreateCurrentUser(params Claim[] claims) - { - var principal = new ClaimsPrincipal(new ClaimsIdentity(claims, authenticationType: "Test")); - var principalAccessor = new TestCurrentPrincipalAccessor(principal); - return new SimpleCurrentUser(principalAccessor); - } -} diff --git a/src/SimpleAdmin.Api/SimpleCurrentUser.cs b/src/SimpleAdmin.Api/SimpleCurrentUser.cs deleted file mode 100644 index 47e7c27..0000000 --- a/src/SimpleAdmin.Api/SimpleCurrentUser.cs +++ /dev/null @@ -1,54 +0,0 @@ -using Fake.DependencyInjection; -using Fake.Security.Claims; -using Fake.Users; - -namespace SimpleAdmin.Api; - -/// -/// 扩展当前用户解析逻辑,支持从 OMS 业务 claims 中读取数值型主体标识。 -/// -[Dependency(Replace = true)] -public class SimpleCurrentUser(ICurrentPrincipalAccessor currentPrincipalAccessor) : CurrentUser(currentPrincipalAccessor) -{ - public override T GetId() - { - if (typeof(T) == typeof(long)) - { - var userId = base.GetId(); - if (userId != 0) - { - return (T)(object)userId; - } - - return (T)(object)GetFallbackNumericId(); - } - - if (typeof(T) == typeof(int)) - { - var userId = base.GetId(); - if (userId != 0) - { - return (T)(object)userId; - } - - return (T)(object)(int)GetFallbackNumericId(); - } - - return base.GetId()!; - } - - private long GetFallbackNumericId() - { - if (long.TryParse(FindClaimOrNull(SimpleOmsClaimTypes.MapId)?.Value, out var mapId) && mapId > 0) - { - return mapId; - } - - if (long.TryParse(FindClaimOrNull(SimpleOmsClaimTypes.CustomerId)?.Value, out var customerId) && customerId > 0) - { - return customerId; - } - - return 0; - } -}