Authorization.cs 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. using Fuel.Application.Service;
  2. using FuelServer.Core.Entity;
  3. using Microsoft.Extensions.DependencyInjection;
  4. using Org.BouncyCastle.Asn1.Ocsp;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Text;
  9. using System.Threading.Tasks;
  10. namespace Fuel.Core
  11. {
  12. public class Authorization
  13. {
  14. private IUserService _userService;
  15. //public Authorization(IUserService userService)
  16. //{
  17. // _userService = ServiceLocator.GetRequiredService<IUserService>();
  18. //}
  19. //public static List<string> GetPermissions()
  20. //{
  21. // var permissions = _userService.GetUserPermissions();
  22. // return permissions;
  23. //}
  24. public Authorization(IUserService userService)
  25. {
  26. _userService = userService;
  27. }
  28. public List<string> GetPermissions()
  29. {
  30. var permissions = _userService.GetUserPermissions();
  31. return permissions;
  32. }
  33. }
  34. public static class ServiceLocator
  35. {
  36. public static IServiceProvider ServiceProvider { get; set; }
  37. public static T GetRequiredService<T>() where T : notnull
  38. {
  39. if (ServiceProvider == null)
  40. {
  41. throw new InvalidOperationException("");
  42. }
  43. return ServiceProvider.GetRequiredService<T>();
  44. }
  45. }
  46. }