public static void Register(HttpConfiguration config) { // Registere custom Route constraint for API Versioning (via ApiVersionConstraint class) with ASP.NET Web API // so that it gets applied to incoming requests. var constraintResolver = new DefaultInlineConstraintResolver(); constraintResolver.ConstraintMap.Add("apiVersionConstraint", typeof(ApiVersionConstraint)); config.MapHttpAttributeRoutes(constraintResolver); // Replace default implementation of controller selector to use our custom controller selector config.Services.Replace(typeof(IHttpControllerSelector), new NamespaceHttpControllerSelector(config)); // config.EnableSystemDiagnosticsTracing(); // replacing this with our custom ITraceWriter config.Services.Replace(typeof(ITraceWriter), new SimpleTraceWriter(WebContainerManager.Get <ILogManager>())); config.Services.Add(typeof(IExceptionLogger), new SimpleExceptionLogger(WebContainerManager.Get <ILogManager>())); config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler()); }
private void ConfigureOAuth(IAppBuilder app) { var serverOptions = new OAuthAuthorizationServerOptions() { AllowInsecureHttp = true, TokenEndpointPath = new PathString("/token"), AccessTokenExpireTimeSpan = TimeSpan.FromDays(1), Provider = new SimpleAuthorizationServerProvider(WebContainerManager.Get <IUsuarioRepository>()) }; app.UseOAuthAuthorizationServer(serverOptions); var bearerOptions = new OAuthBearerAuthenticationOptions(); app.UseOAuthBearerAuthentication(bearerOptions); }
public ICommand Resolve(CommandEnum commandEnum, object[] args) { if (args == null) { throw new ArgumentNullException(nameof(args)); } if (!Enum.IsDefined(typeof(CommandEnum), commandEnum)) { throw new InvalidEnumArgumentException(nameof(commandEnum), (int)commandEnum, typeof(CommandEnum)); } var commandType = _commandsDictionary[commandEnum]; return(WebContainerManager.Get <ICommand>(commandType.Name)); }
public static void Register(HttpConfiguration config) { // Web API configuration and services var contstraintResolver = new DefaultInlineConstraintResolver(); contstraintResolver.ConstraintMap.Add("apiVersionContraint", typeof(ApiVersionConstraint)); // Web API routes config.MapHttpAttributeRoutes(contstraintResolver); config.Services.Replace(typeof(IHttpControllerSelector), new NamespaceHttpControllerSelector(config)); //config.EnableSystemDiagnosticsTracing(); //replaced by custom writer config.Services.Replace(typeof(ITraceWriter), new SimpleTraceWriter(WebContainerManager.Get <ILogManager>())); config.Services.Add(typeof(IExceptionLogger), new SimpleExceptionLogger(WebContainerManager.Get <ILogManager>())); config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler()); }
public static void Register(HttpConfiguration config) { var constraintsResolver = new DefaultInlineConstraintResolver(); constraintsResolver.ConstraintMap.Add("apiVersionConstraint", typeof (ApiVersionConstraint)); config.MapHttpAttributeRoutes(constraintsResolver); config.Services.Replace(typeof(IHttpControllerSelector), new NamespaceHttpControllerSelector(config)); config.Services.Replace(typeof(ITraceWriter), new SimpleTraceWriter(WebContainerManager.Get <ILogManager>())); config.Services.Add(typeof(IExceptionLogger), new SimpleExceptionLogger(WebContainerManager.Get <ILogManager>())); config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler()); }
public static void Register(HttpConfiguration config) { // Web API routes config.MapHttpAttributeRoutes(); config.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional } ); config.Formatters.JsonFormatter.SupportedMediaTypes.Add(new MediaTypeHeaderValue("text/html")); config.Services.Add(typeof(IExceptionLogger), new SimpleExceptionLogger(WebContainerManager.Get <ILogManager>())); config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler()); config.Services.Replace(typeof(ITraceWriter), new SimpleTraceWriter(WebContainerManager.Get <ILogManager>())); config.EnableSystemDiagnosticsTracing(); }
private void RegisterHandlers() { var logManager = WebContainerManager.Get <ILogManager>(); var userSession = WebContainerManager.Get <IUserSession>(); GlobalConfiguration.Configuration.MessageHandlers.Add(new BasicAuthenticationMessageHandler(logManager, WebContainerManager.Get <IBasicSecurityService>())); GlobalConfiguration.Configuration.MessageHandlers.Add(new TaskDataSecurityMessageHandler(logManager, userSession)); var builder = new SecurityTokenBuilder(); var reader = new ConfigurationReader(); GlobalConfiguration.Configuration.MessageHandlers.Add( new JwtAuthenticationMessageHandler { AllowedAudience = reader.AllowedAudience, Issuer = reader.Issuer, SigningToken = builder.CreateFromKey(reader.SymmetricKey) }); }
/// <summary> /// Register dependencies /// </summary> /// <param name="config">Config</param> protected virtual void RegisterDependencies() { var builder = new ContainerBuilder(); var container = builder.Build(); this._containerManager = new WebContainerManager(container); //we create new instance of ContainerBuilder //because Build() or Update() method can only be called once on a ContainerBuilder. //dependencies var typeFinder = new WebAppTypeFinder(); builder = new ContainerBuilder(); //builder.RegisterInstance(config).As<MikeConfig>().SingleInstance(); builder.RegisterInstance(this).As <IEngine>().SingleInstance(); builder.RegisterInstance(typeFinder).As <ITypeFinder>().SingleInstance(); builder.Update(container); //register dependencies provided by other assemblies builder = new ContainerBuilder(); var drTypes = typeFinder.FindClassesOfType <IDependencyRegistrar>(); var drInstances = new List <IDependencyRegistrar>(); foreach (var drType in drTypes) { drInstances.Add((IDependencyRegistrar)Activator.CreateInstance(drType)); } //sort drInstances = drInstances.AsQueryable().OrderBy(t => t.Order).ToList(); foreach (var dependencyRegistrar in drInstances) { dependencyRegistrar.Register(builder, typeFinder); } builder.Update(container); //set dependency resolver //DependencyResolver.SetResolver(new AutofacDependencyResolver(container)); GlobalConfiguration.Configuration.DependencyResolver = new AutofacWebApiDependencyResolver(container); }
public static void Register(HttpConfiguration config) { // // Web API configuration and services // // Configure Web API to use only bearer token authentication. // config.SuppressDefaultHostAuthentication(); // config.Filters.Add(new HostAuthenticationFilter(OAuthDefaults.AuthenticationType)); var constraintsResolver = new DefaultInlineConstraintResolver(); constraintsResolver.ConstraintMap.Add("apiVersionConstraint", typeof(ApiVersionConstraint)); config.MapHttpAttributeRoutes(constraintsResolver); config.Services.Replace(typeof(IHttpControllerSelector), new NamespaceHttpControllerSelector(config)); config.EnableSystemDiagnosticsTracing(); config.Services.Add(typeof(IExceptionLogger), new SimpleExceptionLogger(WebContainerManager.Get <ILogManager>())); config.Services.Replace(typeof(ITraceWriter), new SimpleTraceWriter(WebContainerManager.Get <ILogManager>())); config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler()); }
public static void Register(HttpConfiguration config) { // http://stackoverflow.com/questions/12976352/asp-net-web-api-model-binding-not-working-with-xml-data-on-post config.Formatters.XmlFormatter.UseXmlSerializer = true; config.EnableCors(); ConfigureRouting(config); // To disable tracing in your application, please comment out or remove the following line of code // For more information, refer to: http://www.asp.net/web-api config.Services.Replace(typeof(ITraceWriter), new SimpleTraceWriter(WebContainerManager.Get <ILogManager>())); config.Services.Add(typeof(IExceptionLogger), new SimpleExceptionLogger(WebContainerManager.Get <ILogManager>())); config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler()); }
public static void Register(HttpConfiguration config) { var constraintsResolver = new DefaultInlineConstraintResolver(); constraintsResolver.ConstraintMap.Add("apiVersionConstraint", typeof(ApiVersionConstraint)); config.MapHttpAttributeRoutes(constraintsResolver); config.Services.Replace(typeof(IHttpControllerSelector), new NamespaceHttpControllerSelector(config)); config.Services.Add(typeof(IExceptionLogger), new SimpleExceptionLogger(WebContainerManager.Get <ILogManager>())); config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler()); config.MessageHandlers.Add(new TokenValidationHandler()); config.Routes.MapHttpRoute( name: "CatchAllUrlTo404", routeTemplate: "{*uri}" ); }
private static void ConfigureRouting(HttpConfiguration config) { config.Routes.MapHttpRoute( name: "legacyRoute", routeTemplate: "TeamTaskService.asmx", defaults: null, constraints: null, handler: new LegacyAuthenticationMessageHandler(WebContainerManager.Get <ILogManager>()) { InnerHandler = new LegacyMessageHandler { InnerHandler = new HttpControllerDispatcher(config) } }); var constraintsResolver = new DefaultInlineConstraintResolver(); constraintsResolver.ConstraintMap.Add("apiVersionConstraint", typeof(ApiVersionConstraint)); config.MapHttpAttributeRoutes(constraintsResolver); config.Services.Replace(typeof(IHttpControllerSelector), new NamespaceHttpControllerSelector(config)); }
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context) { context.OwinContext.Response.Headers.Add("Access-Control-Allow-Origin", new[] { "*" }); if (IsEmailAddressInvalid(context.UserName)) { context.SetError("invalid_grant", "incorrect_email"); return; } IAccountRepository repository = WebContainerManager.Get <IAccountRepository>(); IdentityUser emailRegistered = await repository.FindByEmailAsync(context.UserName); if (emailRegistered == null) { context.SetError("invalid_grant", "email_not_registered"); return; } IdentityUser user = await repository.FindUser(context.UserName, context.Password); repository.Dispose(); if (user == null) { context.SetError("invalid_grant", "incorrect_password"); return; } var identity = new ClaimsIdentity(context.Options.AuthenticationType); identity.AddClaim(new Claim("sub", context.UserName)); identity.AddClaim(new Claim("role", "user")); context.Validated(identity); }
public SimpleAuthorizationServerProvider(Func <UserManager <ApplicationUser> > userManagerFactory) { _userManagerFactory = userManagerFactory; _dbContext = WebContainerManager.Get <IDbContext>(); }
public void GetContainer_Returns_Current_Dependency_Resolver() { IDependencyResolver dependencyResolver = WebContainerManager.GetContainer(); Assert.IsInstanceOf <IDependencyResolver>(dependencyResolver); }
public UserAuditAttribute() : this(WebContainerManager.Get <ILogManager>(), WebContainerManager.Get <IUserSession>()) { }
protected void Application_Start() { GlobalConfiguration.Configure(WebApiConfig.Register); new AutoMapperConfigurator().Configure(WebContainerManager.GetAll <IAutoMapperTypeConfigurator>()); }
private void ConfigureFormatters() { var legacyFormatter = (MediaTypeFormatter)WebContainerManager.Get <ILegacyMessageTypeFormatter>(); GlobalConfiguration.Configuration.Formatters.Insert(0, legacyFormatter); }
public ValidateTaskUpdateRequestAttribute() : this(WebContainerManager.Get <ILogManager>()) { }
private void RegisterHandlers() { var logManager = WebContainerManager.Get <ILogManager>(); var userSession = WebContainerManager.Get <IUserSession>(); }
public void Get_Returns_Instance_Of_Class() { ITestableInterface testable = WebContainerManager.Get <ITestableInterface>(); Assert.IsInstanceOf <TestableClass>(testable); }
private void RegisterHandlers() { var logManager = WebContainerManager.Get <ILogManager>(); var userSession = WebContainerManager.Get <IUserSession>(); GlobalConfiguration.Configuration.MessageHandlers.Add(new BasicAuthenticationMessageHandler(logManager, WebContainerManager.Get <IBasicSecurityService>())); GlobalConfiguration.Configuration.MessageHandlers.Add(new EventDataSecurityMessageHandler(logManager, userSession)); }
public static void Register(HttpConfiguration config) { ConfigureRouting(config); //config.EnableSystemDiagnosticsTracing(); config.Services.Replace(typeof(ITraceWriter), new SimpleTraceWriter(WebContainerManager.Get <ILogManager>())); }