FakeCurrentPrincipalAccessor.cs 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. using System.Collections.Generic;
  2. using System.Security.Claims;
  3. using Volo.Abp.DependencyInjection;
  4. using Volo.Abp.Security.Claims;
  5. namespace Buissness.TestBase
  6. {
  7. [Dependency(ReplaceServices = true)]
  8. public class FakeCurrentPrincipalAccessor : ThreadCurrentPrincipalAccessor
  9. {
  10. protected override ClaimsPrincipal GetClaimsPrincipal()
  11. {
  12. return GetPrincipal();
  13. }
  14. private ClaimsPrincipal _principal;
  15. private ClaimsPrincipal GetPrincipal()
  16. {
  17. if (_principal == null)
  18. {
  19. lock (this)
  20. {
  21. _principal ??= new ClaimsPrincipal(
  22. new ClaimsIdentity(
  23. new List<Claim>
  24. {
  25. new Claim(AbpClaimTypes.UserId,"2e701e62-0953-4dd3-910b-dc6cc93ccb0d"),
  26. new Claim(AbpClaimTypes.UserName,"admin"),
  27. new Claim(AbpClaimTypes.Email,"admin@abp.io")
  28. }
  29. )
  30. );
  31. }
  32. }
  33. return _principal;
  34. }
  35. }
  36. }