Esempio n. 1
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <ForwardedHeadersOptions>(options =>
            {
                options.KnownProxies.Add(IPAddress.Parse("10.0.0.100"));
            });

            //Configure loging
            Log.Logger = new LoggerConfiguration()
                         .ReadFrom.Configuration(Configuration)
                         .WriteTo.Console()
                         .CreateLogger();
            services.AddSingleton(Log.Logger);

            //Configure db context
            EntityFrameworkConfiguration.ConfigureService(services, Configuration);

            //Add auto mapper on start up
            services.AddAutoMapper(typeof(Startup));

            //Configure dependency injection
            IocContainerConfiguration.ConfigureService(services);

            //Configure jwt
            JwtConfiguration.ConfigureService(services, Configuration);
            // Configure your policies
            services.AddAuthorization(options =>
            {
                options.AddPolicy(nameof(Role.SuperAdmin),
                                  policy => policy.RequireClaim(nameof(Role.SuperAdmin)));

                options.AddPolicy(nameof(Role.Administrator),
                                  policy => policy.RequireClaim(nameof(Role.Administrator)));

                options.AddPolicy(nameof(Role.User),
                                  policy => policy.RequireClaim(nameof(Role.User)));
            });

            // Configure action filter attribute
            services.AddControllers(opt =>
            {
                opt.Filters.Add(typeof(ValidateModel));
            });

            // Configure enforce lowercase routing
            services.AddRouting(options => options.LowercaseUrls = true);

            SwaggerConfiguration.ConfigureService(services);

            // Config for upload file
            services.Configure <FormOptions>(o => {
                o.ValueLengthLimit         = int.MaxValue;
                o.MultipartBodyLengthLimit = int.MaxValue;
                o.MemoryBufferThreshold    = int.MaxValue;
            });

            // Config Api Version
            services.AddApiVersioning();
        }
Esempio n. 2
0
        // This method gets called by the runtime. Use this method to add services to the container.
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
            services.AddAutoMapper(typeof(MappingProfile));

            ConfigurationOptions.ConfigureService(services, Configuration);

            // IOC containers
            IocContainerConfiguration.ConfigureService(services, Configuration);

            // JWT containers
            JwtConfiguration.ConfigureService(services, Configuration);

            // Swagger API documentation
            SwaggerConfiguration.ConfigureService(services);

            // Cors Orgin
            CorsOrginConfiguration.ConfigureService(services);
        }