VberAdminWebCoreModule.cs 3.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  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.Navigation;
  17. namespace VberAdmin;
  18. [DependsOn(
  19. typeof(VberAdminApplicationModule),
  20. typeof(VberAdminEfModule),
  21. typeof(AbpAspNetCoreModule)
  22. , typeof(AbpAspNetCoreSignalRModule)
  23. )]
  24. public class VberAdminWebCoreModule : AbpModule
  25. {
  26. //private readonly IWebHostEnvironment _env;
  27. private readonly IConfigurationRoot _appConfiguration;
  28. public VberAdminWebCoreModule(IWebHostEnvironment env)
  29. {
  30. //_env = env;
  31. _appConfiguration = env.GetAppConfiguration();
  32. }
  33. public override void PreInitialize()
  34. {
  35. Configuration.DefaultNameOrConnectionString = _appConfiguration.GetConnectionString(
  36. VberAdminConsts.ConnectionStringName
  37. );
  38. Configuration.Modules.AbpAspNetCore()
  39. .CreateControllersForAppServices(typeof(VberAdminApplicationModule).GetAssembly(), VzConsts.AppApiName, false);
  40. Configuration.Modules.AbpWebCommon().AntiForgery.TokenCookieName = "XSRF-TOKEN-VberAdmin";
  41. //Configuration.Modules.AbpWebCommon().AntiForgery.TokenHeaderName = "X-XSRF-TOKEN-VberAdmin";
  42. Configuration.Navigation.Providers.Add<VzNavigationProvider>();
  43. ConfigureTokenAuth();
  44. }
  45. private void ConfigureTokenAuth()
  46. {
  47. IocManager.Register<TokenAuthConfiguration>();
  48. var tokenAuthConfig = IocManager.Resolve<TokenAuthConfiguration>();
  49. tokenAuthConfig.SecurityKey = new SymmetricSecurityKey(Encoding.ASCII.GetBytes(_appConfiguration["Authentication:JwtBearer:SecurityKey"]));
  50. tokenAuthConfig.Issuer = _appConfiguration["Authentication:JwtBearer:Issuer"];
  51. tokenAuthConfig.Audience = _appConfiguration["Authentication:JwtBearer:Audience"];
  52. tokenAuthConfig.SigningCredentials = new SigningCredentials(tokenAuthConfig.SecurityKey, SecurityAlgorithms.HmacSha256);
  53. tokenAuthConfig.Expiration = TimeSpan.FromDays(1);
  54. }
  55. public override void Initialize()
  56. {
  57. IocManager.RegisterAssemblyByConvention(typeof(VberAdminWebCoreModule).GetAssembly());
  58. }
  59. public override void PostInitialize()
  60. {
  61. SetAppFolders();
  62. IocManager.Resolve<ApplicationPartManager>()
  63. .AddApplicationPartsIfNotAddedBefore(typeof(VberAdminWebCoreModule).Assembly);
  64. }
  65. private void SetAppFolders()
  66. {
  67. var appFolders = IocManager.Resolve<AppFolders>();
  68. appFolders.ProfileImagesFolder = $"Common{Path.DirectorySeparatorChar}Images{Path.DirectorySeparatorChar}AvatarPics";
  69. appFolders.DownloadFolder = $"Common{Path.DirectorySeparatorChar}Download{Path.DirectorySeparatorChar}AttachFiles";
  70. appFolders.UploadFolder = $"Common{Path.DirectorySeparatorChar}Upload{Path.DirectorySeparatorChar}AttachFiles";
  71. }
  72. }