Browse Source
Return anonymous principal instead of null in ThreadCurrentPrincipalAccessor
pull/25752/head
maliming
3 months ago
No known key found for this signature in database
GPG Key ID: A646B9CB645ECEA4
2 changed files with
5 additions and
3 deletions
-
framework/src/Volo.Abp.Security/Volo/Abp/Security/Claims/ThreadCurrentPrincipalAccessor.cs
-
framework/test/Volo.Abp.Security.Tests/Volo/Abp/Security/Claims/CurrentPrincipalAccessor_Tests.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()); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@ -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(); |
|
|
|
} |
|
|
|
} |
|
|
|
|