// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services) { services.AddOptions(); services.AddMvc(); services.AddCors(); services.AddOptions(); services.AddSingleton <IDictaatRepository, DictaatRepository>(); services.AddSingleton <IPageRepository, PageRepository>(); services.AddSingleton <IMenuRepository, MenuRepository>(); services.AddScoped <IQuestionRepository, QuestionRepository>(); services.AddSingleton <Core.IDirectory, Core.Directory>(); services.AddSingleton <Core.IFile, Core.File>(); services.Configure <ConfigVariables>(Configuration.GetSection("ConfigVariables")); var connection = @"Server = Stijn; Database = Webdictaat; Trusted_Connection = True; MultipleActiveResultSets=True"; services.AddDbContext <DomainContext>(options => options.UseSqlServer(connection), ServiceLifetime.Scoped); }
public void ConfigureServices (Microsoft.Extensions.DependencyInjection.IServiceCollection services) { services.AddCors(); services.AddControllers(); // Configure strongly typed settings object services.Configure <Infrastructure.ApplicationSettings.Main> (Configuration.GetSection("AppSettings")); // Configure Swagger for application services services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new Microsoft.OpenApi.Models.OpenApiInfo { Version = "v1", Title = "Swagger Demo", Description = "Swagger Demo", TermsOfService = new System.Uri("https://example.com/terms"), Contact = new Microsoft.OpenApi.Models.OpenApiContact() { Name = "Mohsen Farokhi", Email = "*****@*****.**", Url = new System.Uri("https://www.linkedin.com/in/mohsen-farokhi"), }, License = new Microsoft.OpenApi.Models.OpenApiLicense { Name = "Use under LICX", Url = new System.Uri("https://example.com/license"), } }); c.AddSecurityDefinition("Bearer", new Microsoft.OpenApi.Models.OpenApiSecurityScheme { Description = "JWT Authorization header using the Bearer scheme.", Name = "Authorization", In = Microsoft.OpenApi.Models.ParameterLocation.Header, Type = Microsoft.OpenApi.Models.SecuritySchemeType.ApiKey, Scheme = "Bearer" }); c.AddSecurityRequirement(new Microsoft.OpenApi.Models.OpenApiSecurityRequirement() { { new Microsoft.OpenApi.Models.OpenApiSecurityScheme { Reference = new Microsoft.OpenApi.Models.OpenApiReference { Type = Microsoft.OpenApi.Models.ReferenceType.SecurityScheme, Id = "Bearer" }, Scheme = "oauth2", Name = "Bearer", In = Microsoft.OpenApi.Models.ParameterLocation.Header, }, new System.Collections.Generic.List <string>() } }); var xmlPath = System.IO.Path.Combine(System.AppContext.BaseDirectory, "Application.xml"); c.IncludeXmlComments(xmlPath); }); // Configure DI for application services services.AddScoped <Services.IUserService, Services.UserService>(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services) { services.Configure <FormOptions>(o => { o.ValueLengthLimit = int.MaxValue; o.MultipartBodyLengthLimit = int.MaxValue; o.MemoryBufferThreshold = int.MaxValue; }); services.AddDbContext <ApplicationDbContext>(options => options.UseSqlServer( Configuration.GetConnectionString("MSSQL"))); services.AddIdentity <ApplicationUser, IdentityRole>(cfg => { cfg.User.RequireUniqueEmail = true; }) .AddEntityFrameworkStores <ApplicationDbContext>(); services.AddAuthentication(options => { options.DefaultAuthenticateScheme = JwtBearerDefaults.AuthenticationScheme; options.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme; }) .AddCookie() .AddJwtBearer(cfg => { cfg.TokenValidationParameters = new TokenValidationParameters() { ValidIssuer = this.Configuration["Tokens:Issuer"], ValidAudience = this.Configuration["Tokens:Audience"], IssuerSigningKey = new SymmetricSecurityKey(Encoding.UTF8.GetBytes(this.Configuration["Tokens:Key"])) }; }); services.Configure <IdentityOptions>(options => { options.Password.RequiredLength = 3; options.Password.RequireDigit = false; options.Password.RequireLowercase = false; options.Password.RequireUppercase = false; options.Password.RequireNonAlphanumeric = false; options.Password.RequiredUniqueChars = 0; }); services.AddCors(options => { options.AddPolicy("CorsPolicy", builder => builder.WithOrigins("http://www.taximiapi.com.aspbg.net/", "http://localhost:8100/") .AllowAnyHeader() .AllowAnyMethod() .AllowCredentials() .SetIsOriginAllowed((host) => true)); }); services.AddMvc(); services.AddSignalR(); services.AddControllers() .AddNewtonsoftJson(options => options.SerializerSettings.ReferenceLoopHandling = Newtonsoft.Json.ReferenceLoopHandling.Ignore); services.RegisterRepositoryServices(); services.RegisterCloudinary(Configuration); services.Configure <MailSettings>(Configuration.GetSection("MailSettings")); services.RegisterCustomServices(); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(Microsoft.Extensions.DependencyInjection.IServiceCollection services) { // ************************************************** // Add framework services. //services.AddMvc(); // Default //services.AddMvc(options => // options.Filters.Add(new Infrastructure.Attributes.Filters.SecurityActionFilterAttribute()) //); services.AddMvc(options => { options.Filters.Add (typeof(Infrastructure.Filters.SecurityActionFilterAttribute)); }); // ************************************************** // ************************************************** // https://docs.microsoft.com/en-us/aspnet/core/security/cors // دستور ذیل ظاهرا کار نمیکند //services.Configure<Microsoft.AspNetCore.Mvc.MvcOptions>(options => //{ // options.Filters.Add // (new Microsoft.AspNetCore.Mvc.Cors.Internal.CorsAuthorizationFilterFactory("AllowSpecificOrigin")); //}); //services.AddCors(options => //{ // options.AddPolicy(name: "AllowSpecificOrigin", // configurePolicy: builder => builder.WithOrigins("http://localhost:3000", "http://www.IranainExperts.ir")); //}); //services.AddCors(options => //{ // options.AddPolicy(name: "AllowSpecificOrigin", // configurePolicy: builder => builder.AllowAnyOrigin()); //}); //services.AddCors(options => //{ // options.AddPolicy(name: "AllowSpecificOrigin", // configurePolicy: builder => // builder // .WithOrigins("http://localhost:3000") // .AllowAnyMethod()); //}); //services.AddCors(options => //{ // options.AddPolicy(name: "AllowSpecificOrigin", // configurePolicy: builder => // builder // .WithOrigins("http://localhost:3000") // .WithHeaders("accept", "content-type", "origin", "x-custom-header")); //}); //services.AddCors(options => //{ // options.AddPolicy(name: "AllowSpecificOrigin", // configurePolicy: builder => // builder // .WithOrigins("http://localhost:3000") // .AllowAnyHeader()); //}); services.AddCors(options => { options.AddPolicy(name: "AllowSpecificOrigin", configurePolicy: builder => builder .AllowAnyHeader() .AllowAnyMethod() .AllowAnyOrigin() .AllowCredentials() ); }); // ************************************************** }
public void ConfigureServices (Microsoft.Extensions.DependencyInjection.IServiceCollection services) { // Cross-Origin Resource Sharing (CORS) services.AddCors(options => { options.AddPolicy(AdminCorsPolicy, builder => { builder .WithOrigins("http://localhost:1220") .AllowAnyHeader() .AllowAnyMethod() //.AllowCredentials() ; }); options.AddPolicy(OthersCorsPolicy, builder => { builder .AllowAnyOrigin() .AllowAnyHeader() .AllowAnyMethod() //.AllowCredentials() ; }); }); //services.AddControllers(); services.AddControllers().AddJsonOptions(options => { options.JsonSerializerOptions.MaxDepth = 5; options.JsonSerializerOptions.PropertyNamingPolicy = null; }); //services.AddDbContext<Data.DatabaseContext>(options => //{ // options.UseSqlServer // (connectionString: "Password=1234512345;Persist Security Info=True;User ID=SA;Initial Catalog=DtxSecurity;Data Source=."); //}); //services.AddDbContext<Data.DatabaseContext>(options => //{ // options.UseSqlServer // (connectionString: Configuration.GetSection(key: "ConnectionStrings").GetSection(key: "MyConnectionString"); //}); //services.AddTransient<Data.IUnitOfWork, Data.UnitOfWork>(); services.AddTransient <Data.IUnitOfWork, Data.UnitOfWork>(sp => { Data.Tools.Options options = new Data.Tools.Options { InMemoryDatabase = false, ConnectionString = Configuration.GetSection(key: "ConnectionStrings").GetSection(key: "MyConnectionString").Value, }; return(new Data.UnitOfWork(options: options)); }); }
public void ConfigureServices (Microsoft.Extensions.DependencyInjection.IServiceCollection services) { // Cross-Origin Resource Sharing (CORS) services.AddCors(options => { options.AddPolicy(ADMIN_CORS_POLICY, builder => { builder .WithOrigins("http://localhost:5001") .AllowAnyHeader() .AllowAnyMethod() //.AllowCredentials() ; }); options.AddPolicy(OTHERS_CORS_POLICY, builder => { builder .AllowAnyOrigin() .AllowAnyHeader() .AllowAnyMethod() //.AllowCredentials() ; }); }); //services.AddControllers(); services.AddControllers().AddJsonOptions(options => { options.JsonSerializerOptions.MaxDepth = 5; options.JsonSerializerOptions.PropertyNamingPolicy = null; }); //services.AddDbContext<Data.DatabaseContext>(options => //{ // options.UseSqlServer // (connectionString: "Password=1234512345;Persist Security Info=True;User ID=SA;Initial Catalog=DtxSecurity;Data Source=."); //}); //services.AddDbContext<Data.DatabaseContext>(options => //{ // options.UseSqlServer // (connectionString: Configuration.GetSection(key: "ConnectionStrings").GetSection(key: "MyConnectionString"); //}); //services.AddTransient<Data.IUnitOfWork, Data.UnitOfWork>(); services.AddTransient <Data.IUnitOfWork, Data.UnitOfWork>(sp => { Data.Tools.Options options = new Data.Tools.Options { Provider = (Data.Tools.Enums.Provider) System.Convert.ToInt32(Configuration.GetSection(key: "databaseProvider").Value), //using Microsoft.EntityFrameworkCore; //ConnectionString = // Configuration.GetConnectionString().GetSection(key: "MyConnectionString").Value, ConnectionString = Configuration.GetSection(key: "ConnectionStrings").GetSection(key: "MyConnectionString").Value, }; return(new Data.UnitOfWork(options: options)); }); //services.AddTransient<Dtx.ILogger, Dtx.Logger>(); }