FakeCurrentPrincipalAccessor.cs 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  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. if (_principal == null)
  22. {
  23. _principal = new ClaimsPrincipal(
  24. new ClaimsIdentity(
  25. new List<Claim>
  26. {
  27. new Claim(AbpClaimTypes.UserId,"2e701e62-0953-4dd3-910b-dc6cc93ccb0d"),
  28. new Claim(AbpClaimTypes.UserName,"admin"),
  29. new Claim(AbpClaimTypes.Email,"admin@abp.io")
  30. }
  31. )
  32. );
  33. }
  34. }
  35. }
  36. return _principal;
  37. }
  38. }
  39. }