Browse Source

Return anonymous principal instead of null in ThreadCurrentPrincipalAccessor

pull/25752/head
maliming 3 months ago
parent
commit
255a882586
No known key found for this signature in database GPG Key ID: A646B9CB645ECEA4
  1. 2
      framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/ThreadCurrentPrincipalAccessor.cs
  2. 6
      framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/CurrentPrincipalAccessor_Tests.cs

2
framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/ThreadCurrentPrincipalAccessor.cs

@ -8,6 +8,6 @@ public class ThreadCurrentPrincipalAccessor : CurrentPrincipalAccessorBase, ISin
{
protected override ClaimsPrincipal GetClaimsPrincipal()
{
return (Thread.CurrentPrincipal as ClaimsPrincipal)!;
return Thread.CurrentPrincipal as ClaimsPrincipal ?? new ClaimsPrincipal(new ClaimsIdentity());
}
}

6
framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/CurrentPrincipalAccessor_Tests.cs

@ -31,7 +31,8 @@ public class CurrentPrincipalAccessor_Tests : AbpIntegratedTest<AbpSecurityTestM
}));
_currentPrincipalAccessor.Principal.ShouldBe(null);
_currentPrincipalAccessor.Principal.ShouldNotBeNull();
_currentPrincipalAccessor.Principal.Identity!.IsAuthenticated.ShouldBeFalse();
using (_currentPrincipalAccessor.Change(claimsPrincipal))
{
@ -44,6 +45,7 @@ public class CurrentPrincipalAccessor_Tests : AbpIntegratedTest<AbpSecurityTestM
_currentPrincipalAccessor.Principal.ShouldBe(claimsPrincipal);
}
_currentPrincipalAccessor.Principal.ShouldBeNull();
_currentPrincipalAccessor.Principal.ShouldNotBeNull();
_currentPrincipalAccessor.Principal.Identity!.IsAuthenticated.ShouldBeFalse();
}
}

Loading…
Cancel
Save