Esempio n. 1
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage("Hangfire");
                config.UseServer();

                //config.UseAuthorizationFilters(new AuthorizationFilter
                //{
                //    Users = "admin, superuser", // allow only specified users
                //    Roles = "admins" // allow only specified roles
                //});

                //// or

                //config.UseAuthorizationFilters(
                //    new ClaimsBasedAuthorizationFilter("hangfire", "access"));
            });

            app.MapSignalR();

            MessageSender.NotifyCompleted = SentNotification.Notify;
        }
Esempio n. 2
0
        /// <summary>
        /// Specifies how the ASP.NET application will respond to individual HTTP request.
        /// </summary>
        /// <param name="app">Instance of <see cref="T:Owin.IAppBuilder" />.</param>
        public void Configuration(IAppBuilder app)
        {
            CorsConfig.ConfigureCors(ConfigurationManager.AppSettings["cors"]);
            app.UseCors(CorsConfig.Options);
            HttpConfiguration configuration = new HttpConfiguration();

            configuration
            .UsingSwagger()
            .UsingAutoMapper()
            .UsingAutofac()
            .UsingFormatter()
            .UsingService()
            .UsingRoute();

            app.UseHangfire();

            configuration.UsingGameConfig();

            app.SetDefaultSignInAsAuthenticationType("ExternalCookie");
            app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions()
            {
                AllowInsecureHttp         = true,
                TokenEndpointPath         = new PathString("/token"),
                AccessTokenExpireTimeSpan = TimeSpan.FromDays(180.0),
                Provider = (IOAuthAuthorizationServerProvider)configuration.DependencyResolver.GetService(typeof(AdminOAuthAuthorizationProvider))
            });
            FacebookAuthOptions = new FacebookAuthenticationOptions()
            {
                AppId     = ConfigurationManager.AppSettings["FacebookAppId"],
                AppSecret = ConfigurationManager.AppSettings["FacebookAppSecret"],
                Provider  = new FacebookAuthProvider()
            };
            FacebookAuthOptions.Scope.Add("email");
            app.UseOAuthBearerAuthentication(OAuthBearerOptions).UseFacebookAuthentication(FacebookAuthOptions).UseAutofacMiddleware(AutofacConfig.Container).UseWebApi(configuration).UseOAuthBearerTokens(OAuthOptions);
        }
Esempio n. 3
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage("Hangfire");
                config.UseServer();

                //config.UseAuthorizationFilters(new AuthorizationFilter
                //{
                //    Users = "admin, superuser", // allow only specified users
                //    Roles = "admins" // allow only specified roles
                //});

                //// or

                //config.UseAuthorizationFilters(
                //    new ClaimsBasedAuthorizationFilter("hangfire", "access"));
            });

            app.MapSignalR();

            MessageSender.NotifyCompleted = SentNotification.Notify;
        }
Esempio n. 4
0
       public void ConfigurationJob(IAppBuilder app)
       {

    

           var options = new BackgroundJobServerOptions
           {
               ServerName = String.Format(
                   "{0}.{1}",
                   CommonHelper.GetApplicationName, Environment.MachineName )

				        
           };
          var jobStorage = new SqlServerStorage(CommonHelper.GetJobConnectionString);
         
        //   var server = new BackgroundJobServer(options, jobStorage);

           app.UseHangfire(config =>
           {
               config.UseSqlServerStorage(CommonHelper.GetJobConnectionString);



               //var server = new BackgroundJobServer(options);
               config.UseServer(options);

               if (CommonHelper.EnableRemoteHangfire)
               config.UseAuthorizationFilters(new HangFireRestrictiveAuthorizationFilter());


           });
          // BackgroundJob.Enqueue(() => Debug.WriteLine("Hello, world!"));
       }
Esempio n. 5
0
        // For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864
        public void ConfigureAuth(IAppBuilder app)
        {
            app.CreatePerOwinContext(AppContext.Create);
            app.CreatePerOwinContext <ApplicationUserManager>(ApplicationUserManager.Create);
            app.CreatePerOwinContext <ApplicationSignInManager>(ApplicationSignInManager.Create);

            // Enable the application to use a cookie to store information for the signed in user
            // and to use a cookie to temporarily store information about a user logging in with a third party login provider
            // Configure the sign in cookie
            app.UseCookieAuthentication(new CookieAuthenticationOptions
            {
                AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                LoginPath          = new PathString("/Login"),

                Provider = new CookieAuthenticationProvider
                {
                    // Enables the application to validate the security stamp when the user logs in.
                    // This is a security feature which is used when you change a password or add an external login to your account.
                    OnValidateIdentity = SecurityStampValidator.OnValidateIdentity <ApplicationUserManager, ApplicationUser>(
                        validateInterval: TimeSpan.FromMinutes(30),
                        regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager)),

                    OnException = context => { }
                }
            });

            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage("DefaultConnection");
                config.UseServer();
            });
        }
Esempio n. 6
0
 public void Configuration(IAppBuilder app)
 {
     app.UseHangfire(config =>
     {
         config.UseSqlServerStorage("JobHangFireIoDb");
         config.UseServer();
     });
 }
Esempio n. 7
0
 public void Configuration(IAppBuilder app)
 {
     app.UseHangfire(config =>
     {
         config.UseSqlServerStorage("JobHangFireIoDb");
         config.UseServer();
     });
 }
Esempio n. 8
0
 public void Configuration(IAppBuilder app)
 {
     app.UseHangfire(config =>
     {
         config.UseSqlServerStorage(ConfigurationManager.ConnectionStrings["ApiDataContext"].ConnectionString);
         config.UseServer();
     });
 }
 public void Configuration(IAppBuilder app)
 {
     app.UseHangfire(config =>
     {
         config.UseSqlServerStorage("NameOfConnectionStringKey");     // Other storage options are available
         config.UseDashboardPath("/hangfire");
         config.UseServer();
     });
 }
Esempio n. 10
0
 public void Configuration(IAppBuilder app)
 {
     // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
     app.UseHangfire(config =>
     {
         config.UseSqlServerStorage("Server=localhost;Database=_HangfirePlayground;Trusted_Connection=True;");
         config.UseServer();
     });
 }
Esempio n. 11
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage("DataContext").UseMsmqQueues(@".\private$\hangfire-0");
            });
        }
Esempio n. 12
0
 public void Configuration(IAppBuilder app)
 {
     // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
     app.UseHangfire(config =>
     {
         //config.UseSqlServerStorage(@"Data Source=t55kxp502o.database.windows.net;Initial Catalog=DBLacage;Integrated Security=False;User ID=lacagek;Password=JgE7Wofm;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False");
         config.UseSqlServerStorage(@"Data Source=jaykay;Initial Catalog=SpriteHangFire;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False");
     });
 }
Esempio n. 13
0
 public void Configuration(IAppBuilder app)
 {
     //careates required db's for hangfire.
     app.UseHangfire(
         config =>
     {
         config.UseSqlServerStorage("HighlighterDb");
         config.UseServer();
     });
 }
Esempio n. 14
0
 public static void ConfigureHangfire(IAppBuilder app)
 {
     app.UseHangfire(config =>
     {
         config.UseSqlServerStorage("HangfireStorageDbContext");
         config.UseServer();
         config.UseDashboardPath("/dashboard");
         config.UseAuthorizationFilters(); //allow all users to access the dashboard
     });
 }
Esempio n. 15
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage("Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\aspnet-PointyPointy-20150126090010.mdf;Initial Catalog=aspnet-PointyPointy-20150126090010;Integrated Security=True;User Instance=True");
                config.UseServer();
            });
        }
Esempio n. 16
0
 public void Configuration(IAppBuilder app)
 {
     app.UseHangfire(config =>
     {
         config.UseSqlServerStorage("ScheduleDB");
         config.UseServer();
         config.UseAuthorizationFilters(new[] { new MyRestrictiveAuthorizationFilter() });
         config.UseDashboardPath("/hangfire");
     });
 }
Esempio n. 17
0
 public void Configuration(IAppBuilder app)
 {
     // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
     app.UseHangfire(config =>
     {
         //config.UseSqlServerStorage(@"Data Source=t55kxp502o.database.windows.net;Initial Catalog=DBLacage;Integrated Security=False;User ID=lacagek;Password=JgE7Wofm;Connect Timeout=60;Encrypt=False;TrustServerCertificate=False");
         config.UseSqlServerStorage(@"Data Source=jaykay;Initial Catalog=SpriteHangFire;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=False");
         
     });
 }
Esempio n. 18
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage("DataContext").UseMsmqQueues(@".\private$\hangfire-0");

            });
        }
Esempio n. 19
0
 public static void ConfigureHangfire(IAppBuilder app)
 {
     app.UseHangfire(config =>
     {
         config.UseSqlServerStorage("HangfireStorageDbContext");
         config.UseServer();
         config.UseDashboardPath("/dashboard");
         config.UseAuthorizationFilters(); //allow all users to access the dashboard
     });
 }
Esempio n. 20
0
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR();

            app.UseHangfire(config =>
            {
                config.UseAuthorizationFilters();
                config.UseSqlServerStorage("HighlighterDb");
                config.UseServer();
            });
        }
Esempio n. 21
0
        public void Configuration(IAppBuilder app)
        {
            app.UseHangfire(config =>
            {
                config.UseAuthorizationFilters();

                config
                .UseSqlServerStorage(@"Server=.\sqlexpress;Database=Hangfire.Sample;Trusted_Connection=True;")
                .UseMsmqQueues(@".\Private$\hangfire{0}", "default", "critical");
            });
        }
Esempio n. 22
0
        public void Configuration(IAppBuilder app)
        {
            app.UseHangfire(config =>
            {
                //The SqlServerStorage class will install all database tables automatically
                //on application start-up (but you are able to do it manually).

                config.UseSqlServerStorage("emailDb");
                config.UseServer();
            });
        }
Esempio n. 23
0
    public void Configuration(IAppBuilder app)
    {
        app.UseHangfire(config => {
            config.UseAuthorizationFilters(new DontUseThisAuthorizationFilter());

            config
            .UseSqlServerStorage(@"server=xxxxx;database=Hangfire;uid=sa;pwd=123.com")
            .UseMsmqQueues(@".\Private$\hangfire{0}", "default", "critical");
        });

        app.MapHangfireDashboard();
    }
Esempio n. 24
0
        public void Configuration(IAppBuilder app)
        {
            app.UseErrorPage();
            app.UseWelcomePage("/");

            // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage("DefaultConnection");
                config.UseServer();
            });
        }
Esempio n. 25
0
        public void Configuration(IAppBuilder app)
        {
            app.UseErrorPage();
            app.UseWelcomePage("/");

            // For more information on how to configure your application, visit http://go.microsoft.com/fwlink/?LinkID=316888
            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage("DefaultConnection");
                config.UseServer();
            });
        }
Esempio n. 26
0
        private void ConfigureHangFire(IAppBuilder app)
        {
            const string conexao = @"Data Source=G1711MAX\sqlexpress;Password=chapado;User ID=sa;Initial Catalog=veiculos;Application Name=Veiculos;";

            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage(conexao);
                config.UseServer();
                config.UseNinjectActivator(GetKernel());
                config.UseDashboardPath("/tarefas");
            });

            RecurringJob.AddOrUpdate <VerificaAtualizacaoHodometro>(v => v.Verifica(3), Cron.Minutely);
        }
Esempio n. 27
0
        public void Configuration(IAppBuilder app)
        {
            return;

            // todo: enable?
            app.UseHangfire(config =>
            {
                // Basic setup required to process background jobs.
                config.UseSqlServerStorage("DataConnectionString");
                config.UseServer();
            });

            RecurringJob.AddOrUpdate(() => RefreshTitlesJob(), Cron.Minutely);
        }
Esempio n. 28
0
    public void Configuration(IAppBuilder app)
    {
        app.UseHangfire(config =>
        {
            config.UseSqlServerStorage("Data Source=<connectionstring>; Initial Catalog=HangFire; Trusted_Connection=true;");
            config.UseServer();

            //config.UseAuthorizationFilters(new AuthorizationFilter
            //{
            //    // Users = "admin, superuser", // allow only specified users
            //    Roles = "admins" // allow only specified roles
            //});
        });
    }
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);

            app.UseHangfire(config =>
            {
                config.UseAuthorizationFilters(new AuthorizationFilter
                {
                    Roles = "Admin"
                });

                config.UseSqlServerStorage("StoreContext");
                config.UseServer();
            });
        }
Esempio n. 30
0
        public void Configuration(IAppBuilder app)
        {
            app.UseErrorPage();
            app.UseWelcomePage("/");
            app.UseHangfire(config =>
            {
                var options = new SqlServerStorageOptions { QueuePollInterval = TimeSpan.FromSeconds(1) };
                config.UseSqlServerStorage("DataContext", options).UseMsmqQueues(@".\private$\hangfire-0");
                config.UseServer();
            });

            RecurringJob.AddOrUpdate(() => CleanJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["CleanJobSchedule"]);
            RecurringJob.AddOrUpdate(() => LogsCompactionJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["LogCompactionJobSchedule"]);
            RecurringJob.AddOrUpdate(() => PackageCleanupJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["PackageCleanupJob"]);
        }
Esempio n. 31
0
        public void Configuration(IAppBuilder app)
        {
            app.UseHangfire(config =>
            {
                // Basic setup required to process background jobs.
                config.UseSqlServerStorage(ConnectionString);
                config.UseServer(int.Parse(ConfigurationManager.AppSettings["HangfireWorkerCount"]), "importbuilds", "calculatebadges", "importcodereview", "importchangesets", "default");
                config.UseActivator(new UnityJobActivator(UnityConfig.Container));
                config.UseAuthorizationFilters();
            });


            GlobalJobFilters.Filters.Add(new AutomaticRetryAttribute {
                Attempts = 0
            });
        }
Esempio n. 32
0
        public void Configuration(IAppBuilder app)
        {
            app.UseHangfire(config =>
            {
                config.UseAuthorizationFilters();

                config
                    .UseSqlServerStorage(@"Server=.\sqlexpress;Database=Hangfire.Sample;Trusted_Connection=True;")
                    .UseMsmqQueues(@".\Private$\hangfire{0}", "default", "critical");
            });

            app.MapHangfireDashboard(
                "/hangfire-redis", 
                new IAuthorizationFilter[0],
                new RedisStorage("localhost:6379", 3));
        }
Esempio n. 33
0
        public void Configuration(IAppBuilder app)
        {
            app.UseHangfire(config =>
            {
                config.UseAuthorizationFilters();

                config
                .UseSqlServerStorage(@"Server=.\sqlexpress;Database=Hangfire.Sample;Trusted_Connection=True;")
                .UseMsmqQueues(@".\Private$\hangfire{0}", "default", "critical");
            });

            app.MapHangfireDashboard(
                "/hangfire-redis",
                new IAuthorizationFilter[0],
                new RedisStorage("localhost:6379", 3));
        }
Esempio n. 34
0
        public void Configuration(IAppBuilder app)
        {
            app.UseHangfire(config =>
            {
                //use Firebird embedded with MSMQ
                config
                    .UseFirebirdStorage(@"User=SYSDBA;Password=masterkey;Database=S:\Source\Hangfire.Firebird\HANGFIRE_SAMPLE.FDB;Packet Size=8192;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;ServerType=1;ClientLibrary=S:\Source\Hangfire.Firebird\Firebird\fbembed.dll;")
                    .UseMsmqQueues(@".\private$\hangfire-{0}");
                config.UseServer();
            });

            app.UseNancy();

            RecurringJob.AddOrUpdate(
                () => TextBuffer.WriteLine("Recurring Job completed successfully!"),
                Cron.Minutely);
        }
Esempio n. 35
0
        public void Configuration(IAppBuilder app)
        {
            app.UseHangfire(config =>
            {
                //use Firebird embedded with MSMQ
                config
                .UseFirebirdStorage(@"User=SYSDBA;Password=masterkey;Database=S:\Source\Hangfire.Firebird\HANGFIRE_SAMPLE.FDB;Packet Size=8192;DataSource=localhost;Port=3050;Dialect=3;Charset=NONE;ServerType=1;ClientLibrary=S:\Source\Hangfire.Firebird\Firebird\fbembed.dll;")
                .UseMsmqQueues(@".\private$\hangfire-{0}");
                config.UseServer();
            });

            app.UseNancy();

            RecurringJob.AddOrUpdate(
                () => TextBuffer.WriteLine("Recurring Job completed successfully!"),
                Cron.Minutely);
        }
Esempio n. 36
0
        public void Configuration(IAppBuilder app)
        {
            app.UseErrorPage();
            app.UseWelcomePage("/");
            app.UseHangfire(config =>
            {
                var options = new SqlServerStorageOptions {
                    QueuePollInterval = TimeSpan.FromSeconds(1)
                };
                config.UseSqlServerStorage("DataContext", options).UseMsmqQueues(@".\private$\hangfire-0");
                config.UseServer();
            });

            RecurringJob.AddOrUpdate(() => CleanJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["CleanJobSchedule"]);
            RecurringJob.AddOrUpdate(() => LogsCompactionJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["LogCompactionJobSchedule"]);
            RecurringJob.AddOrUpdate(() => GalleryCleaningJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["GalleryCleanupJob"]);
            RecurringJob.AddOrUpdate(() => HealthCheckJob.Execute(), System.Configuration.ConfigurationManager.AppSettings["HealthCheckJob"]);
        }
Esempio n. 37
0
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR();

            app.UseHangfire(config =>
            {
                config.UseAuthorizationFilters(new AuthorizationFilter
                {
                    Roles = "Admin"
                });

                config.UseActivator(new Extensions.UnityJobActivator(BusinessLogic.UnityConfig.Container));

                config.UseSqlServerStorage(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);

                config.UseServer();
            });

            AS.ChatMessage.Base.IDelete _deleteChatMessages = BusinessLogic.UnityConfig.Container.Resolve <AS.ChatMessage.Base.IDelete>();

            RecurringJob.AddOrUpdate("DeleteChatMessages", () => _deleteChatMessages.Execute(), Cron.Weekly());
        }
Esempio n. 38
0
        public void Configuration(IAppBuilder app)
        {

            app.UseHangfire(config =>
            {
                config.UseSqlServerStorage(CommonHelper.GetJobConnectionString);

                var options = new BackgroundJobServerOptions
                {
                    ServerName = String.Format(
                        "{0}.{1}.{2}",
                        Environment.MachineName,
                        Guid.NewGuid().ToString(),CommonHelper.GetApplicationName)
                };

              

                config.UseServer(options);

            });
         
        }
Esempio n. 39
0
        public void Configuration(IAppBuilder app)
        {
            app.MapSignalR();

            app.UseHangfire(config =>
            {
                config.UseAuthorizationFilters(new AuthorizationFilter
                {
                    Roles = "Admin"
                });

                config.UseActivator(new Extensions.UnityJobActivator(BusinessLogic.UnityConfig.Container));

                config.UseSqlServerStorage(ConfigurationManager.ConnectionStrings["DefaultConnection"].ConnectionString);

                config.UseServer();
            });

            AS.ChatMessage.Base.IDelete _deleteChatMessages = BusinessLogic.UnityConfig.Container.Resolve<AS.ChatMessage.Base.IDelete>();

            RecurringJob.AddOrUpdate("DeleteChatMessages", () => _deleteChatMessages.Execute(), Cron.Weekly());
        }
Esempio n. 40
0
        public void Configuration(IAppBuilder config)
        {
            Bundle.RegisterStylePreprocessor(new SassPreprocessor());
            var httpConfig = ConfigureWebApi();

            config.Use <ExceptionMiddleware>();
            config.Use <CultureMiddleware>();
            #if (!DEBUG)
            config.Use <RedirectToHttpsMiddleware>();
            #endif
            config.UseAutofacMiddleware(ConfigureAutofac(httpConfig));

            config.UseStaticFiles("/Client");

            config.UseCors(CorsOptions.AllowAll);
            config.UseCookieAuthentication(new CookieAuthenticationOptions()
            {
                CookiePath     = "/admin/hangfire",
                ExpireTimeSpan = TimeSpan.FromMinutes(15)
            });
            config.UseOAuthAuthorizationServer(ConfigureOAuthServer());
            config.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());

            JobStartup jobStartup = null;
            config.UseHangfire(hangfireConfig =>
            {
                var module = ConfigureHangfire(hangfireConfig);
                jobStartup = module.Resolve <JobStartup>();
            });
            config.UseWebApi(httpConfig);
            config.UseAutofacWebApi(httpConfig);

            config.Use(Handler);

            _logger.Info("Application is started!");

            jobStartup.Start();
        }
        private void ConfigureHangfireJobs(IAppBuilder app, IContainer container)
        {
            app.UseHangfire(config =>
            {
                config.UseAutofacActivator(container);
                config.UseSqlServerStorage(
                    "CiDashboardContext",
                    new SqlServerStorageOptions {
                    QueuePollInterval = TimeSpan.FromSeconds(5)
                });
                config.UseServer();
            });

            var refreshInfoCron = ConfigurationManager.AppSettings["RefreshInfoCron"];

            if (string.IsNullOrEmpty(refreshInfoCron))
            {
                refreshInfoCron = "*/5 * * * *";
            }

            RecurringJob.RemoveIfExists("SendRefreshBuildResults");
            RecurringJob.AddOrUpdate("SendRefreshBuildResults", () => container.Resolve <IRefreshInformation>().SendRefreshBuildResultsSync(), refreshInfoCron);
        }
Esempio n. 42
0
        public void Configuration(IAppBuilder app)
        {
            ConfigureAuth(app);
            app.UseHangfire(
                configuration =>
            {
                configuration.UseServer();
                configuration.UseStorage(new MongoStorage("mongodb://54.69.155.172/", "aswtruck"));
                configuration.UseDashboardPath("/hangfire");
            });

            //   app.MapSignalR();
            app.Map(
                "/signalr",
                map =>
            {
                map.UseCors(CorsOptions.AllowAll);
                var hubConfiguration = new HubConfiguration
                {
                    EnableJSONP = true
                };
                map.RunSignalR(hubConfiguration);
            });
        }
Esempio n. 43
0
        public static void Configure(IAppBuilder app, IUnityContainer container, string databaseConnectionStringName, AuthenticationOptions authenticationOptions)
        {
            app.CreatePerOwinContext(() => container.Resolve <SecurityDbContext>());
            app.CreatePerOwinContext(() => container.Resolve <ApplicationUserManager>());

            if (authenticationOptions.CookiesEnabled)
            {
                // Enable the application to use a cookie to store information for the signed in user
                // and to use a cookie to temporarily store information about a user logging in with a third party login provider
                // Configure the sign in cookie
                app.UseCookieAuthentication(new CookieAuthenticationOptions
                {
                    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                    //LoginPath = new PathString("/Account/Logon"),
                    Provider = new CookieAuthenticationProvider
                    {
                        // Enables the application to validate the security stamp when the user logs in.
                        // This is a security feature which is used when you change a password or add an external login to your account.
                        OnValidateIdentity = SecurityStampValidator.OnValidateIdentity <ApplicationUserManager, ApplicationUser>(
                            validateInterval: authenticationOptions.CookiesValidateInterval,
                            regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
                    }
                });
            }

            if (authenticationOptions.BearerTokensEnabled)
            {
                app.UseOAuthBearerTokens(new OAuthAuthorizationServerOptions
                {
                    TokenEndpointPath     = new PathString("/Token"),
                    AuthorizeEndpointPath = new PathString("/Account/Authorize"),
                    Provider = new ApplicationOAuthProvider(PublicClientId),
                    AccessTokenExpireTimeSpan = authenticationOptions.BearerTokensExpireTimeSpan,
                    AllowInsecureHttp         = true
                });
            }

            if (authenticationOptions.HmacEnabled || authenticationOptions.ApiKeysEnabled)
            {
                var apiAccountProvider     = container.Resolve <IApiAccountProvider>();
                var claimsIdentityProvider = container.Resolve <IClaimsIdentityProvider>();
                var cacheManager           = container.Resolve <CacheManager>();

                var cacheSettings = new[]
                {
                    new CacheSettings(HmacAuthenticationHandler.CacheGroup, TimeSpan.FromSeconds(60))
                };
                cacheManager.AddCacheSettings(cacheSettings);

                if (authenticationOptions.HmacEnabled)
                {
                    app.UseHmacAuthentication(new HmacAuthenticationOptions
                    {
                        ApiCredentialsProvider  = apiAccountProvider,
                        IdentityProvider        = claimsIdentityProvider,
                        CacheManager            = cacheManager,
                        SignatureValidityPeriod = authenticationOptions.HmacSignatureValidityPeriod
                    });
                }

                if (authenticationOptions.ApiKeysEnabled)
                {
                    app.UseApiKeysAuthentication(new ApiKeysAuthenticationOptions
                    {
                        ApiCredentialsProvider   = apiAccountProvider,
                        IdentityProvider         = claimsIdentityProvider,
                        CacheManager             = cacheManager,
                        HttpHeaderName           = authenticationOptions.ApiKeysHttpHeaderName,
                        QueryStringParameterName = authenticationOptions.ApiKeysQueryStringParameterName
                    });
                }
            }

            var permissionService        = container.Resolve <IPermissionService>();
            var moduleInitializerOptions = container.Resolve <IModuleInitializerOptions>();

            app.UseHangfire(config =>
            {
                config.UseUnityActivator(container);
                config.UseSqlServerStorage(databaseConnectionStringName, new SqlServerStorageOptions {
                    PrepareSchemaIfNecessary = false, QueuePollInterval = TimeSpan.FromSeconds(60)                                                                                    /* 15 Default value */
                });
                config.UseAuthorizationFilters(new PermissionBasedAuthorizationFilter(permissionService)
                {
                    Permission = PredefinedPermissions.BackgroundJobsManage
                });
                config.UseDashboardPath("/" + moduleInitializerOptions.RoutPrefix + "hangfire");
                config.UseServer();
            });
        }
Esempio n. 44
0
        public static void Configure(IAppBuilder app, IUnityContainer container, string databaseConnectionStringName, AuthenticationOptions authenticationOptions)
        {
            app.CreatePerOwinContext(() => container.Resolve<SecurityDbContext>());
            app.CreatePerOwinContext(() => container.Resolve<ApplicationUserManager>());

            if (authenticationOptions.CookiesEnabled)
            {
                // Enable the application to use a cookie to store information for the signed in user
                // and to use a cookie to temporarily store information about a user logging in with a third party login provider
                // Configure the sign in cookie
                app.UseCookieAuthentication(new CookieAuthenticationOptions
                {
                    AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
                    //LoginPath = new PathString("/Account/Logon"),
                    Provider = new CookieAuthenticationProvider
                    {
                        // Enables the application to validate the security stamp when the user logs in.
                        // This is a security feature which is used when you change a password or add an external login to your account.  
                        OnValidateIdentity = SecurityStampValidator.OnValidateIdentity<ApplicationUserManager, ApplicationUser>(
                            validateInterval: authenticationOptions.CookiesValidateInterval,
                            regenerateIdentity: (manager, user) => user.GenerateUserIdentityAsync(manager))
                    }
                });
            }

            if (authenticationOptions.BearerTokensEnabled)
            {
                app.UseOAuthBearerTokens(new OAuthAuthorizationServerOptions
                {
                    TokenEndpointPath = new PathString("/Token"),
                    AuthorizeEndpointPath = new PathString("/Account/Authorize"),
                    Provider = new ApplicationOAuthProvider(PublicClientId),
                    AccessTokenExpireTimeSpan = authenticationOptions.BearerTokensExpireTimeSpan,
                    AllowInsecureHttp = true
                });
            }

            if (authenticationOptions.HmacEnabled || authenticationOptions.ApiKeysEnabled)
            {
                var apiAccountProvider = container.Resolve<IApiAccountProvider>();
                var claimsIdentityProvider = container.Resolve<IClaimsIdentityProvider>();
                var cacheManager = container.Resolve<CacheManager>();

                var cacheSettings = new[]
                {
                    new CacheSettings(HmacAuthenticationHandler.CacheGroup, TimeSpan.FromSeconds(60))
                };
                cacheManager.AddCacheSettings(cacheSettings);

                if (authenticationOptions.HmacEnabled)
                {
                    app.UseHmacAuthentication(new HmacAuthenticationOptions
                    {
                        ApiCredentialsProvider = apiAccountProvider,
                        IdentityProvider = claimsIdentityProvider,
                        CacheManager = cacheManager,
                        SignatureValidityPeriod = authenticationOptions.HmacSignatureValidityPeriod
                    });
                }

                if (authenticationOptions.ApiKeysEnabled)
                {
                    app.UseApiKeysAuthentication(new ApiKeysAuthenticationOptions
                    {
                        ApiCredentialsProvider = apiAccountProvider,
                        IdentityProvider = claimsIdentityProvider,
                        CacheManager = cacheManager,
                        HttpHeaderName = authenticationOptions.ApiKeysHttpHeaderName,
                        QueryStringParameterName = authenticationOptions.ApiKeysQueryStringParameterName
                    });
                }
            }

            var permissionService = container.Resolve<IPermissionService>();
            app.UseHangfire(config =>
            {
                config.UseUnityActivator(container);
                config.UseSqlServerStorage(databaseConnectionStringName, new SqlServerStorageOptions { PrepareSchemaIfNecessary = false, QueuePollInterval = TimeSpan.FromSeconds(60) /* 15 Default value */ });
                config.UseAuthorizationFilters(new PermissionBasedAuthorizationFilter(permissionService) { Permission = PredefinedPermissions.BackgroundJobsManage });
                config.UseServer();
            });
        }
 /// <summary>
 /// Set up Owin middleware
 /// </summary>
 /// <param name="app"></param>
 public void Configuration(IAppBuilder app)
 {
     app.UserStatelessOAuthTokenValidation(_tokenValidator, _authTokenValidatorConfiguration);
     app.UseHangfire(_hangfireConfiguration);
     app.UseNancy();
 }