IwbWebModule.cs 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495
  1. using System.Reflection;
  2. using System.Web;
  3. using System.Web.Mvc;
  4. using System.Web.Optimization;
  5. using System.Web.Routing;
  6. using Abp.Configuration.Startup;
  7. using Abp.Localization.Sources;
  8. using Abp.Modules;
  9. using Abp.Web.Configuration;
  10. using Abp.Web.Mvc;
  11. using Abp.Web.Mvc.Security.AntiForgery;
  12. using Abp.Web.Security.AntiForgery;
  13. using Abp.Web.SignalR;
  14. using Castle.MicroKernel.Registration;
  15. using WeApp.Api;
  16. using WeApp.Localization;
  17. using IwbZero;
  18. using Microsoft.Owin.Security;
  19. using WeApp.Configuration;
  20. namespace WeApp
  21. {
  22. [DependsOn(
  23. typeof(WeAppApplicationModule),
  24. typeof(WeAppWebApiModule),
  25. //typeof(AbpHangfireModule), - ENABLE TO USE HANGFIRE INSTEAD OF DEFAULT JOB MANAGER
  26. typeof(AbpWebSignalRModule),
  27. typeof(AbpWebMvcModule)
  28. )]
  29. public class WeAppWebModule : AbpModule
  30. {
  31. public override void PreInitialize()
  32. {
  33. //Configure navigation/menu
  34. Configuration.Navigation.Providers.Add<WeAppNavigationProvider>();
  35. //Configure Hangfire - ENABLE TO USE HANGFIRE INSTEAD OF DEFAULT JOB MANAGER
  36. //Configuration.BackgroundJobs.UseHangfire(configuration =>
  37. //{
  38. // configuration.GlobalConfiguration.UseSqlServerStorage("Default");
  39. //});
  40. Configuration.Modules.AbpWeb().AntiForgery.IsEnabled = false;
  41. Configuration.Modules.AbpWebCommon().AntiForgery.TokenCookieName = "XSRF-TOKEN-WeApp";
  42. Configuration.Modules.AbpWebCommon().AntiForgery.TokenHeaderName = "X-XSRF-TOKEN-WeApp";
  43. Configuration.Modules.AbpWebCommon().AntiForgery.AuthorizationCookieName = $".AspNet.{IwbAuthenticationTypes.ApplicationCookie}";
  44. //扩展本地化语言
  45. string path = HttpContext.Current.Server.MapPath("~/Localization/SourceFiles");
  46. Configuration.Localization.Sources.Extensions.Add(new LocalizationSourceExtensionInfo(
  47. IwbZeroConsts.LocalizationSourceName, new IwbXmlFileLocalizationDictionaryProvider(path)));
  48. //IocManager.IocContainer.Register(
  49. // Component.For<IAbpAntiForgeryConfiguration>().Named("IwbAntiForgeryConfiguration")
  50. // .ImplementedBy<IwbAntiForgeryConfiguration>().IsDefault());
  51. //Configuration.ReplaceService<IAbpAntiForgeryManager, IwbMvcAntiForgeryManager>();
  52. }
  53. public override void Initialize()
  54. {
  55. IocManager.RegisterAssemblyByConvention(Assembly.GetExecutingAssembly());
  56. IocManager.IocContainer.Register(
  57. Component
  58. .For<IAuthenticationManager>()
  59. .UsingFactoryMethod(() => HttpContext.Current.GetOwinContext().Authentication)
  60. .LifestyleTransient()
  61. );
  62. AreaRegistration.RegisterAllAreas();
  63. RouteConfig.RegisterRoutes(RouteTable.Routes);
  64. BundleConfig.RegisterBundles(BundleTable.Bundles);
  65. }
  66. public override void PostInitialize()
  67. {
  68. ReplaceScriptManager();
  69. }
  70. public void ReplaceScriptManager()
  71. {
  72. IocManager.IocContainer.Register(
  73. Component.For<IAbpWebLocalizationConfiguration>().Named("IWebLocalizationConfiguration")
  74. .ImplementedBy<WeAppWebLocalizationConfiguration>().IsDefault());
  75. //IocManager.Register<ILocalizationScriptManager, IwbLocalizationScriptManager>();
  76. //IocManager.Register<INavigationScriptManager, IwbNavigationScriptManager>();
  77. //IocManager.Register<ISettingScriptManager, IwbSettingScriptManager>();
  78. }
  79. }
  80. }