Exemple #1
0
        public void Configuration(IAppBuilder app)
        {
            var builder    = new ContainerBuilder();
            var assemblies = AppDomain.CurrentDomain.GetAssemblies();
            var config     = new HttpConfiguration();

            // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
            //enable cors origin requests
            app.UseCors(Microsoft.Owin.Cors.CorsOptions.AllowAll);

            // Web API routes
            config.MapHttpAttributeRoutes();

            config.Routes.MapHttpRoute(
                name: "DefaultApi",
                routeTemplate: "api/{controller}/{action}/{id}",
                defaults: new { id = RouteParameter.Optional }
                );

            // Register your Web API controllers.
            builder.RegisterApiControllers(Assembly.GetExecutingAssembly());
            // builder.RegisterWebApiFilterProvider(config); // using this prevents authorize filter from executing

            builder.RegisterType <LoggedInEmployee>().As <ILoggedInEmployee>();
            // Set the dependency resolver to be Autofac.
            CmsBootstrapper.Bootstrap(builder, assemblies);

            var container = builder.Build();

            app.UseAutofacMiddleware(container);
            app.UseAutofacWebApi(config);

            var myProvider = new MyAuthorizationServerProvider();
            OAuthAuthorizationServerOptions options = new OAuthAuthorizationServerOptions
            {
                AllowInsecureHttp         = true,
                TokenEndpointPath         = new PathString("/token"),
                AccessTokenExpireTimeSpan = TimeSpan.FromDays(1),
                Provider = myProvider,
            };

            app.UseOAuthAuthorizationServer(options);
            app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
            app.UseWebApi(config);
        }
        public void InitTest()
        {
            Init();


            RenderModelFactory = FakeRenderModelFactory.CreateWithApp();
            var frontEndRouteHandler = new RenderRouteHandler(new TestControllerFactory(), UmbracoApplicationContext, RenderModelFactory);

            //register areas/routes...

            RouteTable.Routes.Clear();

            var packageFolder = new DirectoryInfo(Path.Combine(Common.CurrentAssemblyDirectory, "App_Plugins", PluginManager.PackagesFolderName, "TestPackage"));

            Components = new ComponentRegistrations(new List <Lazy <MenuItem, MenuItemMetadata> >(),
                                                    GetEditorMetadata(packageFolder),
                                                    GetTreeMetadata(packageFolder),
                                                    GetSurfaceMetadata(packageFolder),
                                                    new List <Lazy <AbstractTask, TaskMetadata> >(),
                                                    new List <Lazy <PropertyEditor, PropertyEditorMetadata> >(),
                                                    new List <Lazy <AbstractParameterEditor, ParameterEditorMetadata> >(),
                                                    new List <Lazy <DashboardMatchRule, DashboardRuleMetadata> >(),
                                                    new List <Lazy <DashboardFilter, DashboardRuleMetadata> >(),
                                                    new List <Lazy <Permission, PermissionMetadata> >(),
                                                    new List <Lazy <AbstractMacroEngine, MacroEngineMetadata> >());

            var componentRegistration = new PackageAreaRegistration(packageFolder, UmbracoApplicationContext, Components);
            var areaRegistration      = new UmbracoAreaRegistration(UmbracoApplicationContext, Components);
            var installRegistration   = new InstallAreaRegistration(UmbracoApplicationContext.Settings);

            var cmsBootstrapper    = new CmsBootstrapper(UmbracoApplicationContext.Settings, areaRegistration, installRegistration, new[] { componentRegistration }, new DefaultAttributeTypeRegistry());
            var renderBootstrapper = new RenderBootstrapper(UmbracoApplicationContext, frontEndRouteHandler, RenderModelFactory);

            //bootstrappers setup the routes
            cmsBootstrapper.Boot(RouteTable.Routes);
            renderBootstrapper.Boot(RouteTable.Routes);

            new UmbracoWebApplication(null, null, null).RegisterRoutes(RouteTable.Routes);
        }