VberAdminWebCoreModule.cs 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596
  1. using Abp.AspNetCore;
  2. using Abp.AspNetCore.Configuration;
  3. using Abp.AspNetCore.SignalR;
  4. using Abp.Modules;
  5. using Abp.Reflection.Extensions;
  6. using Microsoft.AspNetCore.Hosting;
  7. using Microsoft.AspNetCore.Mvc.ApplicationParts;
  8. using Microsoft.Extensions.Configuration;
  9. using Microsoft.IdentityModel.Tokens;
  10. using System.Text;
  11. using Abp.Configuration.Startup;
  12. using VberAdmin.Authentication.JwtBearer;
  13. using VberAdmin.Configuration;
  14. using VberZero;
  15. using VberZero.Folders;
  16. using VberZero.Jwt;
  17. using VberZero.Navigation;
  18. using Abp.Web.Security.AntiForgery;
  19. namespace VberAdmin;
  20. [DependsOn(
  21. typeof(VberAdminApplicationModule),
  22. typeof(VberAdminEfModule),
  23. typeof(AbpAspNetCoreModule)
  24. , typeof(AbpAspNetCoreSignalRModule)
  25. )]
  26. public class VberAdminWebCoreModule : AbpModule
  27. {
  28. //private readonly IWebHostEnvironment _env;
  29. private readonly IConfigurationRoot _appConfiguration;
  30. public VberAdminWebCoreModule(IWebHostEnvironment env)
  31. {
  32. //_env = env;
  33. _appConfiguration = env.GetAppConfiguration();
  34. }
  35. public override void PreInitialize()
  36. {
  37. Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString(
  38. VberAdminConsts.ConnectionStringName
  39. );
  40. Configuration.Modules.AbpAspNetCore()
  41. .CreateControllersForAppServices(typeof(VberAdminApplicationModule).GetAssembly(), VzConsts.AppApiName, false);
  42. Configuration.Modules.AbpWebCommon().AntiForgery.TokenCookieName = "XSRF-TOKEN-VberAdmin";
  43. //Configuration.Modules.AbpWebCommon().AntiForgery.TokenHeaderName = "X-XSRF-TOKEN-VberAdmin";
  44. Configuration.Navigation.Providers.Add<VzNavigationProvider>();
  45. ConfigureTokenAuth();
  46. }
  47. private void ConfigureTokenAuth()
  48. {
  49. IocManager.Register<TokenAuthConfiguration>();
  50. var tokenAuthConfig = IocManager.Resolve<TokenAuthConfiguration>();
  51. tokenAuthConfig.SecurityKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_appConfiguration["Authentication:JwtBearer:SecurityKey"]));
  52. tokenAuthConfig.Issuer = _appConfiguration["Authentication:JwtBearer:Issuer"];
  53. tokenAuthConfig.Audience = _appConfiguration["Authentication:JwtBearer:Audience"];
  54. tokenAuthConfig.SigningCredentials = new SigningCredentials(tokenAuthConfig.SecurityKey, SecurityAlgorithms.HmacSha256);
  55. tokenAuthConfig.Expiration = TimeSpan.FromDays(1);
  56. }
  57. public override void Initialize()
  58. {
  59. IocManager.RegisterAssemblyByConvention(typeof(VberAdminWebCoreModule).GetAssembly());
  60. }
  61. public override void PostInitialize()
  62. {
  63. SetAppFolders();
  64. IocManager.Resolve<ApplicationPartManager>()
  65. .AddApplicationPartsIfNotAddedBefore(typeof(VberAdminWebCoreModule).Assembly);
  66. }
  67. private void SetAppFolders()
  68. {
  69. var appFolders = IocManager.Resolve<AppFolders>();
  70. appFolders.ProfileImagesFolder = $"Common{Path.DirectorySeparatorChar}Images{Path.DirectorySeparatorChar}AvatarPics";
  71. appFolders.DownloadFolder = $"Common{Path.DirectorySeparatorChar}Download{Path.DirectorySeparatorChar}AttachFiles";
  72. appFolders.UploadFolder = $"Common{Path.DirectorySeparatorChar}Upload{Path.DirectorySeparatorChar}AttachFiles";
  73. }
  74. }
  75. public class vcv : IAbpAntiForgeryValidator
  76. {
  77. public bool IsValid(string token)
  78. {
  79. return true;
  80. }
  81. }