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); }
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); }
public static MembershipUser GetAccessingMembershipUser(int documentId) { var content = ApplicationContext.Current.Services.ContentService.GetById(documentId); if (content == null) { return(null); } var entry = ApplicationContext.Current.Services.PublicAccessService.GetEntryForContent(content); if (entry == null) { return(null); } //legacy would throw an exception here if it was not 'simple' and simple means based on a username if (entry.Rules.All(x => x.RuleType != Constants.Conventions.PublicAccess.MemberUsernameRuleType)) { throw new Exception("Document isn't protected using Simple mechanism. Use GetAccessingMemberGroups instead"); } var provider = MembershipProviderExtensions.GetMembersMembershipProvider(); var usernameRule = entry.Rules.First(x => x.RuleType == Constants.Conventions.PublicAccess.MemberUsernameRuleType); return(provider.GetUser(usernameRule.RuleValue, false)); }
private void ConfigureTwoFactorAuthentication(object sender, OwinMiddlewareConfiguredEventArgs args) { var app = args.AppBuilder; var applicationContext = ApplicationContext.Current; app.SetUmbracoLoggerFactory(); app.UseTwoFactorSignInCookie(Umbraco.Core.Constants.Security.BackOfficeTwoFactorAuthenticationType, TimeSpan.FromMinutes(5)); // We need to set these values again after our custom changes. Otherwise preview doesn't work. app.UseUmbracoBackOfficeCookieAuthentication(applicationContext) .UseUmbracoBackOfficeExternalCookieAuthentication(applicationContext) .UseUmbracoPreviewAuthentication(applicationContext); app.ConfigureUserManagerForUmbracoBackOffice <TwoFactorBackOfficeUserManager, BackOfficeIdentityUser>( applicationContext, (options, context) => { var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider(); var userManager = TwoFactorBackOfficeUserManager.Create(options, applicationContext.Services.UserService, applicationContext.Services.EntityService, applicationContext.Services.ExternalLoginService, membershipProvider); return(userManager); }); }
/// <summary> /// This is simply a helper method which essentially just wraps the MembershipProvider's ChangePassword method /// </summary> /// <remarks> /// This method exists so that Umbraco developers can use one entry point to create/update users if they choose to. /// </remarks> /// <param name="user">The user to save the password for</param> /// <param name="password">The password to save</param> public void SavePassword(IUser user, string password) { if (user == null) { throw new ArgumentNullException("user"); } var provider = MembershipProviderExtensions.GetUsersMembershipProvider(); if (provider.IsUmbracoMembershipProvider() == false) { throw new NotSupportedException("When using a non-Umbraco membership provider you must change the user password by using the MembershipProvider.ChangePassword method"); } provider.ChangePassword(user.Username, "", password); //go re-fetch the member and update the properties that may have changed var result = GetByUsername(user.Username); if (result != null) { //should never be null but it could have been deleted by another thread. user.RawPasswordValue = result.RawPasswordValue; user.LastPasswordChangeDate = result.LastPasswordChangeDate; user.UpdateDate = user.UpdateDate; } }
private void BindRp() { var provider = MembershipProviderExtensions.GetMembersMembershipProvider(); string letter = Request.QueryString["letter"]; if (string.IsNullOrEmpty(letter) == false) { if (provider.IsUmbracoMembershipProvider()) { if (letter == "#") { rp_members.DataSource = cms.businesslogic.member.Member.getAllOtherMembers(); } else { rp_members.DataSource = cms.businesslogic.member.Member.getMemberFromFirstLetter(letter.ToCharArray()[0]); } } else { rp_members.DataSource = provider.FindUsersByName(letter + "%"); } rp_members.DataBind(); } }
protected void Page_Load(object sender, EventArgs e) { var provider = MembershipProviderExtensions.GetMembersMembershipProvider(); if (provider.IsUmbracoMembershipProvider()) { ButtonSearch.Text = ui.Text("search"); } }
public static bool HasAccess(int documentId, object memberId) { return(ApplicationContext.Current.Services.PublicAccessService.HasAccess( documentId, memberId, ApplicationContext.Current.Services.ContentService, MembershipProviderExtensions.GetMembersMembershipProvider(), //TODO: This should really be targeting a specific provider by name!! Roles.Provider)); }
public override bool PerformDelete() { var provider = MembershipProviderExtensions.GetMembersMembershipProvider(); var u = provider.GetUser(Alias, false); if (u == null) { return(false); } provider.DeleteUser(u.UserName, true); return(true); }
/// <summary> /// Validation to Check if Member with email Exists /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected void EmailExistsCheck(object sender, ServerValidateEventArgs e) { var provider = MembershipProviderExtensions.GetMembersMembershipProvider(); if (Email.Text != "" && Member.GetMemberFromEmail(Email.Text.ToLower()) != null && provider.RequiresUniqueEmail) { e.IsValid = false; } else { e.IsValid = true; } }
public void Configuration(IAppBuilder app) { // Configure back office users membership provider app.ConfigureUserManagerForUmbracoBackOffice( ApplicationContext.Current, MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider()); // Ensure OWIN is configured for Umbraco back office authentication app.UseUmbracoBackOfficeCookieAuthentication(ApplicationContext.Current) .UseUmbracoBackOfficeExternalCookieAuthentication(ApplicationContext.Current); // Configure additional back office authentication options app.ConfigureBackOfficeAdfsAuthentication(); }
private void ConfigureTwoFactorAuthentication(object sender, OwinMiddlewareConfiguredEventArgs args) { var app = args.AppBuilder; var applicationContext = Umbraco.Core.Composing.Current.Services; IGlobalSettings GlobalSettings = Umbraco.Core.Composing.Current.Configs.Global(); IUmbracoSettingsSection UmbracoSettings = Umbraco.Core.Composing.Current.Configs.Settings(); UmbracoMapper umbracoMapper = Umbraco.Core.Composing.Current.Mapper; //netser///////////////////////// /* var oAuthServerOptions = new OAuthAuthorizationServerOptions * * { * AllowInsecureHttp = true, * TokenEndpointPath = new PathString("/token"), * AccessTokenExpireTimeSpan = TimeSpan.FromDays(1) * }; * // Token Generation * app.UseOAuthAuthorizationServer(oAuthServerOptions); * app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());*/ ////////////////////end netser app.SetUmbracoLoggerFactory(); app.UseTwoFactorSignInCookie(Umbraco.Core.Constants.Security.BackOfficeTwoFactorAuthenticationType, TimeSpan.FromMinutes(5)); // app.UseOAuthAuthorizationServer(options); // app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()); // We need to set these values again after our custom changes. Otherwise preview doesn't work. // Gunni: Apparently we don't need this for preview to work and the following code breaks other Identity providers //app.UseUmbracoBackOfficeCookieAuthentication(umbracoContextAccessor, Umbraco.Web.Composing.Current.RuntimeState, applicationContext.UserService, GlobalSettings, securitySection) // .UseUmbracoBackOfficeExternalCookieAuthentication(umbracoContextAccessor, runtimeState, GlobalSettings) // .UseUmbracoPreviewAuthentication(umbracoContextAccessor, runtimeState, globalSettings, securitySection); app.ConfigureUserManagerForUmbracoBackOffice <TwoFactorBackOfficeUserManager, BackOfficeIdentityUser>( Umbraco.Web.Composing.Current.RuntimeState, GlobalSettings, (options, context) => { var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider(); var userManager = TwoFactorBackOfficeUserManager.Create(options, applicationContext.UserService, applicationContext.MemberTypeService, applicationContext.EntityService, applicationContext.ExternalLoginService, membershipProvider, GlobalSettings, umbracoMapper); return(userManager); }); }
public override bool PerformSave() { var nameAndMail = Alias.Split("|".ToCharArray()); var name = nameAndMail[0]; var email = nameAndMail.Length > 0 ? nameAndMail[1] : ""; var password = nameAndMail.Length > 1 ? nameAndMail[2] : ""; var loginName = nameAndMail.Length > 2 ? nameAndMail[3] : ""; var provider = MembershipProviderExtensions.GetMembersMembershipProvider(); if (provider.IsUmbracoMembershipProvider() && TypeID != -1) { var dt = new MemberType(TypeID); var castedProvider = (UmbracoMembershipProviderBase)provider; MembershipCreateStatus status; //First create with the membership provider //TODO: We are not supporting q/a - passing in empty here var created = castedProvider.CreateUser(dt.Alias, loginName.Replace(" ", "").ToLower(), //dunno why we're doing this but that's how it has been so i'll leave it i guess password, email, "", "", true, Guid.NewGuid(), out status); if (status != MembershipCreateStatus.Success) { throw new Exception("Error creating Member: " + status); } //update the name var member = Member.GetMemberFromLoginName(created.UserName); member.Text = name; member.Save(); var e = new NewMemberUIEventArgs(); this.OnNewMember(e, password, member); _returnUrl = "members/editMember.aspx?id=" + member.Id.ToString(CultureInfo.InvariantCulture); } else { MembershipCreateStatus mc; provider.CreateUser(name, password, email, "empty", "empty", true, null, out mc); if (mc != MembershipCreateStatus.Success) { throw new Exception("Error creating Member: " + mc); } _returnUrl = "members/editMember.aspx?id=" + HttpUtility.UrlEncode(name); } return(true); }
protected override void CreateRootNode(ref XmlTreeNode rootNode) { var provider = MembershipProviderExtensions.GetMembersMembershipProvider(); // only show member types if we're using umbraco members on the website if (provider.IsUmbracoMembershipProvider()) { rootNode.NodeType = "init" + TreeAlias; rootNode.NodeID = "init"; } else { rootNode = null; } }
/// <summary> /// Returns the currently configured membership scenario for members in umbraco /// </summary> /// <value></value> internal static MembershipScenario GetMembershipScenario(this IMemberService memberService) { if (_scenario.HasValue == false) { var provider = MembershipProviderExtensions.GetMembersMembershipProvider(); if (provider.IsUmbracoMembershipProvider()) { return(MembershipScenario.NativeUmbraco); } var memberType = Current.Services.MemberTypeService.Get(Constants.Conventions.MemberTypes.DefaultAlias); return(memberType != null ? MembershipScenario.CustomProviderWithUmbracoLink : MembershipScenario.StandaloneCustomProvider); } return(_scenario.Value); }
public virtual IUserRepository CreateUserRepository(IScopeUnitOfWork uow) { var userMembershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider(); var passwordConfig = userMembershipProvider == null || userMembershipProvider.PasswordFormat != MembershipPasswordFormat.Hashed ? null : new System.Collections.Generic.Dictionary <string, string> { { "hashAlgorithm", Membership.HashAlgorithmType } }; return(new UserRepository( uow, //Need to cache users - we look up user information more than anything in the back office! _cacheHelper, _logger, _sqlSyntax, passwordConfig)); }
protected void Page_Load(object sender, System.EventArgs e) { var provider = MembershipProviderExtensions.GetMembersMembershipProvider(); sbmt.Text = ui.Text("create"); if (provider.IsUmbracoMembershipProvider()) { nameLiteral.Text = ui.Text("name"); memberChooser.Attributes.Add("style", "padding-top: 10px"); foreach (var dt in MemberType.GetAll) { ListItem li = new ListItem(); li.Text = dt.Text; li.Value = dt.Id.ToString(); nodeType.Items.Add(li); } } else { nameLiteral.Text = ui.Text("login"); memberChooser.Visible = false; } string[] pwRules = { provider.MinRequiredPasswordLength.ToString(CultureInfo.InvariantCulture), provider.MinRequiredNonAlphanumericCharacters.ToString(CultureInfo.InvariantCulture) }; PasswordRules.Text = PasswordRules.Text = ui.Text( "errorHandling", "", pwRules, UmbracoEnsuredPage.CurrentUser); if (!IsPostBack) { passwordRequired.ErrorMessage = ui.Text("errorHandling", "errorMandatoryWithoutTab", ui.Text("password"), BasePages.UmbracoEnsuredPage.CurrentUser); nameRequired.ErrorMessage = ui.Text("errorHandling", "errorMandatoryWithoutTab", nameLiteral.Text, BasePages.UmbracoEnsuredPage.CurrentUser); emailRequired.ErrorMessage = ui.Text("errorHandling", "errorMandatoryWithoutTab", "E-mail", BasePages.UmbracoEnsuredPage.CurrentUser); loginRequired.ErrorMessage = ui.Text("errorHandling", "errorMandatoryWithoutTab", "Login Name", BasePages.UmbracoEnsuredPage.CurrentUser); loginExistsCheck.ErrorMessage = ui.Text("errorHandling", "errorExistsWithoutTab", "Login Name", BasePages.UmbracoEnsuredPage.CurrentUser); emailExistsCheck.ErrorMessage = ui.Text("errorHandling", "errorExistsWithoutTab", "E-mail", BasePages.UmbracoEnsuredPage.CurrentUser); memberTypeRequired.ErrorMessage = ui.Text("errorHandling", "errorMandatoryWithoutTab", "Member Type", BasePages.UmbracoEnsuredPage.CurrentUser); Password.Text = Membership.GeneratePassword(provider.MinRequiredPasswordLength, provider.MinRequiredNonAlphanumericCharacters); } }
public override bool PerformSave() { // Hot damn HACK > user is allways UserType with id = 1 = administrator ??? // temp password deleted by NH //BusinessLogic.User.MakeNew(Alias, Alias, "", BusinessLogic.UserType.GetUserType(1)); //return true; var provider = MembershipProviderExtensions.GetUsersMembershipProvider(); var status = MembershipCreateStatus.ProviderError; try { // Password is auto-generated. They are they required to change the password by editing the user information. var password = Membership.GeneratePassword( provider.MinRequiredPasswordLength, provider.MinRequiredNonAlphanumericCharacters); var parts = Alias.Split(new[] { '|' }, StringSplitOptions.RemoveEmptyEntries); if (parts.Length != 2) { return(false); } var login = parts[0]; var email = parts[1]; var u = provider.CreateUser( login, password, email.Trim().ToLower(), "", "", true, null, out status); if (u == null) { return(false); } _returnUrl = string.Format("users/EditUser.aspx?id={0}", u.ProviderUserKey); return(status == MembershipCreateStatus.Success); } catch (Exception ex) { LogHelper.Error <userTasks>(string.Format("Failed to create the user. Error from provider: {0}", status.ToString()), ex); return(false); } }
/// <summary> /// Creates a BackOfficeUserManager instance with all default options and the default BackOfficeUserManager /// </summary> /// <param name="options"></param> /// <param name="userService"></param> /// <param name="externalLoginService"></param> /// <param name="membershipProvider"></param> /// <returns></returns> public static CustomBackOfficeUserManager Create(IdentityFactoryOptions <CustomBackOfficeUserManager> options, ApplicationContext applicationContext) { var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider(); var userService = applicationContext.Services.UserService; var entityService = applicationContext.Services.EntityService; var externalLoginService = applicationContext.Services.ExternalLoginService; var contentSectionConfig = UmbracoConfig.For.UmbracoSettings().Content; var manager = new CustomBackOfficeUserManager(new CustomBackOfficeUserStore(userService, entityService, externalLoginService, membershipProvider)); manager.InitUserManager(manager, membershipProvider, options.DataProtectionProvider, contentSectionConfig); manager.RegisterTwoFactorProvider("DefaultProvider", new DefaultTwoFactorProvider(options.DataProtectionProvider.Create("DefaultProvider"))); return(manager); }
public override void Configuration(IAppBuilder app) { app.SetUmbracoLoggerFactory(); var appContext = ApplicationContext.Current; app.ConfigureUserManagerForUmbracoBackOffice <BackOfficeUserManager, BackOfficeIdentityUser>( appContext, (options, context) => { var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider(); var store = new BackOfficeUserStore(appContext.Services.UserService, appContext.Services.ExternalLoginService, membershipProvider); return(UmbracoEasyADUserManager.InitUserManager(store, membershipProvider, options)); }); app.UseUmbracoBackOfficeCookieAuthentication(appContext) .UseUmbracoBackOfficeExternalCookieAuthentication(appContext); }
void Member_New(Member sender, NewEventArgs e) { //This is a bit of a hack to ensure that the member is approved when created since many people will be using // this old api to create members on the front-end and they need to be approved - which is based on whether or not // the Umbraco membership provider is configured. var provider = MembershipProviderExtensions.GetMembersMembershipProvider() as UmbracoMembershipProvider; if (provider != null) { var approvedField = provider.ApprovedPropertyTypeAlias; var property = sender.getProperty(approvedField); if (property != null) { property.Value = 1; sender.Save(); } } }
public override void Up() { //Don't exeucte if the column is already there var columns = SqlSyntax.GetColumnsInSchema(Context.Database).ToArray(); if (columns.Any(x => x.TableName.InvariantEquals("umbracoUser") && x.ColumnName.InvariantEquals("createDate")) == false) { Create.Column("createDate").OnTable("umbracoUser").AsDateTime().NotNullable().WithDefault(SystemMethods.CurrentDateTime); } if (columns.Any(x => x.TableName.InvariantEquals("umbracoUser") && x.ColumnName.InvariantEquals("updateDate")) == false) { Create.Column("updateDate").OnTable("umbracoUser").AsDateTime().NotNullable().WithDefault(SystemMethods.CurrentDateTime); } if (columns.Any(x => x.TableName.InvariantEquals("umbracoUser") && x.ColumnName.InvariantEquals("emailConfirmedDate")) == false) { Create.Column("emailConfirmedDate").OnTable("umbracoUser").AsDateTime().Nullable(); } if (columns.Any(x => x.TableName.InvariantEquals("umbracoUser") && x.ColumnName.InvariantEquals("invitedDate")) == false) { Create.Column("invitedDate").OnTable("umbracoUser").AsDateTime().Nullable(); } if (columns.Any(x => x.TableName.InvariantEquals("umbracoUser") && x.ColumnName.InvariantEquals("avatar")) == false) { Create.Column("avatar").OnTable("umbracoUser").AsString(500).Nullable(); } if (columns.Any(x => x.TableName.InvariantEquals("umbracoUser") && x.ColumnName.InvariantEquals("passwordConfig")) == false) { Create.Column("passwordConfig").OnTable("umbracoUser").AsString(500).Nullable(); //Check if we have a known config, we only want to store config for hashing var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider(); if (membershipProvider.PasswordFormat == MembershipPasswordFormat.Hashed) { var json = JsonConvert.SerializeObject(new { hashAlgorithm = Membership.HashAlgorithmType }); Execute.Sql("UPDATE umbracoUser SET passwordConfig = '" + json + "'"); } } }
private void ConfigureTwoFactorAuthentication(object sender, OwinMiddlewareConfiguredEventArgs args) { var app = args.AppBuilder; var applicationContext = ApplicationContext.Current; //netser///////////////////////// /* var oAuthServerOptions = new OAuthAuthorizationServerOptions * * { * AllowInsecureHttp = true, * TokenEndpointPath = new PathString("/token"), * AccessTokenExpireTimeSpan = TimeSpan.FromDays(1) * }; * // Token Generation * app.UseOAuthAuthorizationServer(oAuthServerOptions); * app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());*/ ////////////////////end netser app.SetUmbracoLoggerFactory(); app.UseTwoFactorSignInCookie(Umbraco.Core.Constants.Security.BackOfficeTwoFactorAuthenticationType, TimeSpan.FromMinutes(5)); // app.UseOAuthAuthorizationServer(options); // app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions()); // We need to set these values again after our custom changes. Otherwise preview doesn't work. app.UseUmbracoBackOfficeCookieAuthentication(applicationContext) .UseUmbracoBackOfficeExternalCookieAuthentication(applicationContext) .UseUmbracoPreviewAuthentication(applicationContext); /**/ app.ConfigureUserManagerForUmbracoBackOffice <TwoFactorBackOfficeUserManager, BackOfficeIdentityUser>( applicationContext, (options, context) => { var membershipProvider = MembershipProviderExtensions.GetUsersMembershipProvider().AsUmbracoMembershipProvider(); var userManager = TwoFactorBackOfficeUserManager.Create(options, applicationContext.Services.UserService, applicationContext.Services.EntityService, applicationContext.Services.ExternalLoginService, membershipProvider); return(userManager); }); }
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); }); }
/// <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); }); }
public void UnlockByKey(Guid key) { var membershipProvider = MembershipProviderExtensions.GetMembersMembershipProvider(); var member = membershipProvider.GetUser(key, false); // if they were locked but now they are trying to be unlocked if (member != null && member.IsLockedOut) { try { var result = membershipProvider.UnlockUser(member.UserName); if (result == false) { // it wasn't successful - but it won't really tell us why. ModelState.AddModelError("", "Could not unlock the user"); } } catch (Exception ex) { ModelState.AddModelError("", ex); } } }
/// <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); }); }
/// <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); }); }
public void bindMember(object sender, RepeaterItemEventArgs e) { var provider = MembershipProviderExtensions.GetMembersMembershipProvider(); if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem) { if (provider.IsUmbracoMembershipProvider()) { cms.businesslogic.member.Member mem = (cms.businesslogic.member.Member)e.Item.DataItem; Literal _name = (Literal)e.Item.FindControl("lt_name"); Literal _email = (Literal)e.Item.FindControl("lt_email"); Literal _login = (Literal)e.Item.FindControl("lt_login"); Button _button = (Button)e.Item.FindControl("bt_delete"); _name.Text = "<a href='editMember.aspx?id=" + mem.Id.ToString() + "'>" + mem.Text + "</a>"; _login.Text = mem.LoginName; _email.Text = mem.Email; _button.CommandArgument = mem.Id.ToString(); _button.OnClientClick = "return confirm(\"" + ui.Text("confirmdelete") + "'" + mem.Text + "' ?\")"; _button.Text = ui.Text("delete"); } else { var mem = (MembershipUser)e.Item.DataItem; Literal _name = (Literal)e.Item.FindControl("lt_name"); Literal _email = (Literal)e.Item.FindControl("lt_email"); Literal _login = (Literal)e.Item.FindControl("lt_login"); Button _button = (Button)e.Item.FindControl("bt_delete"); _name.Text = "<a href='editMember.aspx?id=" + mem.UserName + "'>" + mem.UserName + "</a>"; _login.Text = mem.UserName; _email.Text = mem.Email; _button.Visible = false; } } }