Пример #1
0
        /// <summary>
        /// Configure a custom UserStore with the Identity User Manager for Umbraco
        /// </summary>
        /// <param name="app"></param>
        /// <param name="appContext"></param>
        /// <param name="userMembershipProvider"></param>
        /// <param name="customUserStore"></param>
        public static void ConfigureUserManagerForUmbracoBackOffice(this IAppBuilder app,
                                                                    ApplicationContext appContext,
                                                                    MembershipProviderBase userMembershipProvider,
                                                                    BackOfficeUserStore customUserStore)
        {
            if (appContext == null)
            {
                throw new ArgumentNullException("appContext");
            }
            if (userMembershipProvider == null)
            {
                throw new ArgumentNullException("userMembershipProvider");
            }
            if (customUserStore == null)
            {
                throw new ArgumentNullException("customUserStore");
            }

            //Configure Umbraco user manager to be created per request
            app.CreatePerOwinContext <BackOfficeUserManager>(
                (options, owinContext) => BackOfficeUserManager.Create(
                    options,
                    customUserStore,
                    userMembershipProvider));

            //Create a sign in manager per request
            app.CreatePerOwinContext <BackOfficeSignInManager>((options, context) => BackOfficeSignInManager.Create(options, context, app.CreateLogger(typeof(BackOfficeSignInManager).FullName)));
        }
Пример #2
0
        public void Configuration(IAppBuilder app)
        {
            var applicationContext = ApplicationContext.Current;

            app.ConfigureUserManagerForUmbracoBackOffice <BackOfficeUserManager, BackOfficeIdentityUser>(
                applicationContext,
                (options, context) =>
            {
                var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider();
                var userManager        = BackOfficeUserManager.Create(options,
                                                                      applicationContext.Services.UserService,
                                                                      applicationContext.Services.ExternalLoginService,
                                                                      membershipProvider);

                // Overrides Umbraco's password checker
                var latchOperationSvc = new LatchOperationService(applicationContext.DatabaseContext.Database, applicationContext.Services.TextService, applicationContext.Services.UserService);
                userManager.BackOfficeUserPasswordChecker = new LatchLoginChecker(latchOperationSvc, applicationContext.Services.TextService, userManager.PasswordHasher);
                return(userManager);
            });

            //Ensure owin is configured for Umbraco back office authentication
            app
            .UseUmbracoBackOfficeCookieAuthentication(ApplicationContext.Current)
            .UseUmbracoBackOfficeExternalCookieAuthentication(ApplicationContext.Current);
        }
Пример #3
0
        public void Configuration(IAppBuilder app)
        {
            //Configure the Identity user manager for use with Umbraco Back office

            var applicationContext = ApplicationContext.Current;

            app.ConfigureUserManagerForUmbracoBackOffice <BackOfficeUserManager, BackOfficeIdentityUser>(
                applicationContext,
                (options, context) =>
            {
                var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider();
                var userManager        = BackOfficeUserManager.Create(options,
                                                                      applicationContext.Services.UserService,
                                                                      applicationContext.Services.ExternalLoginService,
                                                                      membershipProvider);

                // Call custom passowrd checker.
                userManager.BackOfficeUserPasswordChecker = new BackofficeMembershipProviderPasswordChecker();

                return(userManager);
            });

            //Ensure owin is configured for Umbraco back office authentication
            app
            .UseUmbracoBackOfficeCookieAuthentication(ApplicationContext.Current)
            .UseUmbracoBackOfficeExternalCookieAuthentication(ApplicationContext.Current);
        }
        /// <summary>
        /// Configure Default Identity User Manager for Umbraco
        /// </summary>
        /// <param name="app"></param>
        /// <param name="appContext"></param>
        /// <param name="userMembershipProvider"></param>
        public static void ConfigureUserManagerForUmbracoBackOffice(this IAppBuilder app,
                                                                    ApplicationContext appContext,
                                                                    MembershipProviderBase userMembershipProvider)
        {
            if (appContext == null)
            {
                throw new ArgumentNullException("appContext");
            }
            if (userMembershipProvider == null)
            {
                throw new ArgumentNullException("userMembershipProvider");
            }

            //Configure Umbraco user manager to be created per request
            app.CreatePerOwinContext <BackOfficeUserManager>(
                (options, owinContext) => BackOfficeUserManager.Create(
                    options,
                    appContext.Services.UserService,
                    appContext.Services.EntityService,
                    appContext.Services.ExternalLoginService,
                    userMembershipProvider,
                    UmbracoConfig.For.UmbracoSettings().Content));

            app.SetBackOfficeUserManagerType <BackOfficeUserManager, BackOfficeIdentityUser>();

            //Create a sign in manager per request
            app.CreatePerOwinContext <BackOfficeSignInManager>((options, context) => BackOfficeSignInManager.Create(options, context, app.CreateLogger <BackOfficeSignInManager>()));
        }
Пример #5
0
        public void Build(IContainer container)
        {
            container.Register(() =>
            {
                var userManager = BackOfficeUserManager.Create(
                    new IdentityFactoryOptions <BackOfficeUserManager>
                {
                    Provider = new IdentityFactoryProvider <BackOfficeUserManager>()
                },
                    container.Resolve <IUserService>(),
                    container.Resolve <IEntityService>(),
                    container.Resolve <IExternalLoginService>(),
                    MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider(),
                    UmbracoConfig.For.UmbracoSettings().Content
                    );

                return(userManager);
            })
            .As <BackOfficeUserManager <BackOfficeIdentityUser> >();
        }
        /// <summary>
        /// Configure user manager for use with Active Directory
        /// </summary>
        /// <param name="app"></param>
        protected override void ConfigureUmbracoUserManager(IAppBuilder app)
        {
            app.ConfigureUserManagerForUmbracoBackOffice <BackOfficeUserManager, BackOfficeIdentityUser>(
                ApplicationContext,
                (options, context) =>
            {
                var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider();
                var userManager        = BackOfficeUserManager.Create(options,
                                                                      ApplicationContext.Services.UserService,
                                                                      ApplicationContext.Services.EntityService,
                                                                      ApplicationContext.Services.ExternalLoginService,
                                                                      membershipProvider,
                                                                      UmbracoConfig.For.UmbracoSettings().Content);

                // Configure custom password checker.
                userManager.BackOfficeUserPasswordChecker = new BackofficeMembershipProviderPasswordChecker();

                return(userManager);
            });
        }
Пример #7
0
        /// <summary>
        /// Configure user manager for use with Active Directory
        /// </summary>
        /// <param name="app"></param>
        protected override void ConfigureUmbracoUserManager(IAppBuilder app)
        {
            app.ConfigureUserManagerForUmbracoBackOffice <BackOfficeUserManager, BackOfficeIdentityUser>(Current.RuntimeState, Current.Configs.Global(),
                                                                                                         (options, context) =>
            {
                var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider();
                var userManager        = BackOfficeUserManager.Create(options,
                                                                      Current.Services.UserService,
                                                                      Current.Services.MemberTypeService,
                                                                      Current.Services.EntityService,
                                                                      Current.Services.ExternalLoginService,
                                                                      membershipProvider,
                                                                      UmbracoSettings.Content,
                                                                      Current.Configs.Global());

                // Configure custom password checker.
                userManager.BackOfficeUserPasswordChecker = new BackofficeMembershipProviderPasswordChecker();

                return(userManager);
            });
        }
Пример #8
0
 /// <summary>
 /// Configure the Identity user manager for use with Umbraco Back office
 /// </summary>
 /// <param name="app"></param>
 protected override void ConfigureUmbracoUserManager(IAppBuilder app)
 {
     // Overload the following method to add a custom user-pass check
     app.ConfigureUserManagerForUmbracoBackOffice <BackOfficeUserManager, BackOfficeIdentityUser>(
         RuntimeState,
         GlobalSettings,
         (options, context) =>
     {
         var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider();
         var userManager        = BackOfficeUserManager.Create(
             options,
             Services.UserService,
             Services.MemberTypeService,
             Services.EntityService,
             Services.ExternalLoginService,
             membershipProvider,
             ContentSection,     //content section config
             GlobalSettings
             );
         userManager.BackOfficeUserPasswordChecker = new HybrideAuthenticator();
         return(userManager);
     });
 }
Пример #9
0
        /// <summary>
        /// Configure user manager for use with Active Directory
        /// </summary>
        /// <param name="app"></param>
        protected override void ConfigureUmbracoUserManager(IAppBuilder app)
        {
            var                     applicationContext = Umbraco.Core.Composing.Current.Services;
            IGlobalSettings         GlobalSettings     = Umbraco.Core.Composing.Current.Configs.Global();
            IUmbracoSettingsSection UmbracoSettings    = Umbraco.Core.Composing.Current.Configs.Settings();

            app.ConfigureUserManagerForUmbracoBackOffice <BackOfficeUserManager, BackOfficeIdentityUser>(Umbraco.Web.Composing.Current.RuntimeState, GlobalSettings,
                                                                                                         (options, context) =>
            {
                var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider();
                var userManager        = BackOfficeUserManager.Create(options,
                                                                      applicationContext.UserService,
                                                                      applicationContext.MemberTypeService,
                                                                      applicationContext.EntityService,
                                                                      applicationContext.ExternalLoginService,
                                                                      membershipProvider,
                                                                      Mapper,
                                                                      UmbracoSettings.Content,
                                                                      GlobalSettings);
                userManager.BackOfficeUserPasswordChecker = new BackofficeMembershipProviderPasswordChecker();
                return(userManager);
            });
        }