示例#1
0
文件: Startup.cs 项目: sk81biz/sk81
        public void ConfigureServices(IServiceCollection services)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

            services.AddHttpContextAccessor();

            services.AddControllers()
            .AddXmlSerializerFormatters()
            .AddJsonOptions(options =>
            {
                options.JsonSerializerOptions.WriteIndented    = false;
                options.JsonSerializerOptions.IgnoreNullValues = true;
                options.JsonSerializerOptions.Converters.Add(new ApiDateTimeConverter());
                options.JsonSerializerOptions.Converters.Add(new FileEntryWrapperConverter());
            });

            services.AddMemoryCache();

            services.AddAuthentication("cookie")
            .AddScheme <AuthenticationSchemeOptions, CookieAuthHandler>("cookie", a => { });

            var builder = services.AddMvcCore(config =>
            {
                var policy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();
                config.Filters.Add(new AuthorizeFilter(policy));
                config.Filters.Add(new TypeFilterAttribute(typeof(TenantStatusFilter)));
                config.Filters.Add(new TypeFilterAttribute(typeof(PaymentFilter)));
                config.Filters.Add(new TypeFilterAttribute(typeof(IpSecurityFilter)));
                config.Filters.Add(new TypeFilterAttribute(typeof(ProductSecurityFilter)));
                config.Filters.Add(new CustomResponseFilterAttribute());
                config.Filters.Add(new CustomExceptionFilterAttribute());
                config.Filters.Add(new TypeFilterAttribute(typeof(FormatFilter)));

                config.OutputFormatters.RemoveType <XmlSerializerOutputFormatter>();
                config.OutputFormatters.Add(new XmlOutputFormatter());
            });

            var diHelper = new DIHelper(services);

            diHelper
            .AddCookieAuthHandler()
            .AddCultureMiddleware()
            .AddIpSecurityFilter()
            .AddPaymentFilter()
            .AddProductSecurityFilter()
            .AddTenantStatusFilter();

            diHelper.AddNLogManager("ASC.Files");

            diHelper
            .AddDocumentsControllerService()
            .AddEncryptionControllerService()
            .AddFileHandlerService()
            .AddChunkedUploaderHandlerService()
            .AddThirdPartyAppHandlerService()
            .AddDocuSignHandlerService();

            services.AddAutofac(Configuration, HostEnvironment.ContentRootPath);
        }
示例#2
0
        public void ConfigureServices(IServiceCollection services)
        {
            Encoding.RegisterProvider(CodePagesEncodingProvider.Instance);

            services.AddHttpContextAccessor();

            services.AddControllers()
            .AddNewtonsoftJson()
            .AddXmlSerializerFormatters();

            services.AddTransient <IConfigureOptions <MvcNewtonsoftJsonOptions>, CustomJsonOptionsWrapper>();

            services.AddMemoryCache();

            services.AddAuthentication("cookie")
            .AddScheme <AuthenticationSchemeOptions, CookieAuthHandler>("cookie", a => { });

            var builder = services.AddMvcCore(config =>
            {
                var policy = new AuthorizationPolicyBuilder().RequireAuthenticatedUser().Build();
                config.Filters.Add(new AuthorizeFilter(policy));
                config.Filters.Add(new TypeFilterAttribute(typeof(TenantStatusFilter)));
                config.Filters.Add(new TypeFilterAttribute(typeof(PaymentFilter)));
                config.Filters.Add(new TypeFilterAttribute(typeof(IpSecurityFilter)));
                config.Filters.Add(new TypeFilterAttribute(typeof(ProductSecurityFilter)));
                config.Filters.Add(new CustomResponseFilterAttribute());
                config.Filters.Add(new CustomExceptionFilterAttribute());
                config.Filters.Add(new TypeFilterAttribute(typeof(FormatFilter)));

                config.OutputFormatters.RemoveType <XmlSerializerOutputFormatter>();
                config.OutputFormatters.Add(new XmlOutputFormatter());
            });

            var diHelper = new DIHelper(services);

            diHelper
            .AddCookieAuthHandler()
            .AddCultureMiddleware()
            .AddIpSecurityFilter()
            .AddPaymentFilter()
            .AddProductSecurityFilter()
            .AddTenantStatusFilter();

            diHelper.AddNLogManager("ASC.Files");

            diHelper
            .AddDocumentsControllerService()
            .AddEncryptionControllerService();

            services.AddAutofac(Configuration, HostEnvironment.ContentRootPath);
        }