/// <summary> /// Configure identity User Manager for Umbraco with custom user store /// </summary> /// <typeparam name="T"></typeparam> /// <param name="app"></param> /// <param name="customUserStore"></param> /// <param name="appContext"></param> /// <param name="membershipProvider"></param> public static void ConfigureUserManagerForUmbracoMembers <T>(this IAppBuilder app, UmbracoMembersUserStore <T> customUserStore, ApplicationContext appContext, IdentityEnabledMembersMembershipProvider membershipProvider = null) where T : UmbracoIdentityMember, new() { if (appContext == null) { throw new ArgumentNullException("appContext"); } //Don't proceed if the app is not ready if (!appContext.IsConfigured || appContext.DatabaseContext == null || !appContext.DatabaseContext.IsDatabaseConfigured) { return; } //Configure Umbraco user manager to be created per request app.CreatePerOwinContext <UmbracoMembersUserManager <T> >( (o, c) => UmbracoMembersUserManager <T> .Create( o, customUserStore, membershipProvider)); //Configure Umbraco member event handler to be created per request - this will ensure that the // external logins are kept in sync if members are deleted from Umbraco app.CreatePerOwinContext <MembersEventHandler <T> >((options, context) => new MembersEventHandler <T>(context)); }
public static void ConfigureUserManagerForUmbracoMembers <T>(this IAppBuilder app, UmbracoMembersUserStore <T> customUserStore, IdentityEnabledMembersMembershipProvider membershipProvider = null) where T : UmbracoIdentityMember, new() { //Configure Umbraco user manager to be created per request app.CreatePerOwinContext <UmbracoMembersUserManager <T> >( (o, c) => UmbracoMembersUserManager <T> .Create( o, customUserStore, membershipProvider)); //Configure Umbraco member event handler to be created per request - this will ensure that the // external logins are kept in sync if members are deleted from Umbraco app.CreatePerOwinContext <MembersEventHandler <T> >((options, context) => new MembersEventHandler <T>(context)); }
/// <summary> /// Configure Identity User Manager for Umbraco /// </summary> /// <typeparam name="T"></typeparam> /// <param name="app"></param> public static void ConfigureUserManagerForUmbraco <T>(this IAppBuilder app) where T : UmbracoIdentityUser, new() { //Don't proceed if the app is not ready if (!ApplicationContext.Current.IsConfigured || ApplicationContext.Current.DatabaseContext == null || !ApplicationContext.Current.DatabaseContext.IsDatabaseConfigured) { return; } //Configure Umbraco user manager to be created per request app.CreatePerOwinContext <UmbracoMembersUserManager <T> >( (o, c) => UmbracoMembersUserManager <T> .Create( o, c, ApplicationContext.Current.Services.MemberService)); //Configure Umbraco member event handler to be created per request - this will ensure that the // external logins are kept in sync if members are deleted from Umbraco app.CreatePerOwinContext <MembersEventHandler <T> >((options, context) => new MembersEventHandler <T>(context)); //TODO: This is just for the mem leak fix app.CreatePerOwinContext <OwinContextDisposal <MembersEventHandler <T>, UmbracoMembersUserManager <T> > >( (o, c) => new OwinContextDisposal <MembersEventHandler <T>, UmbracoMembersUserManager <T> >(c)); }