Merge pull request #11016 from umbraco/v9/feature/add_friendly_extension_method_to_replace_the_backofficeusermanager
Added SetBackOfficeUserManager extension method to IUmbracoBuilder
This commit is contained in:
@@ -0,0 +1,24 @@
|
||||
using System;
|
||||
using Microsoft.AspNetCore.Identity;
|
||||
using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using Umbraco.Cms.Core.DependencyInjection;
|
||||
using Umbraco.Cms.Core.Security;
|
||||
|
||||
namespace Umbraco.Extensions
|
||||
{
|
||||
public static partial class UmbracoApplicationBuilderExtensions
|
||||
{
|
||||
public static IUmbracoBuilder SetBackOfficeUserManager<TUserManager>(this IUmbracoBuilder builder)
|
||||
where TUserManager : UserManager<BackOfficeIdentityUser>, IBackOfficeUserManager
|
||||
{
|
||||
|
||||
Type customType = typeof(TUserManager);
|
||||
Type userManagerType = typeof(UserManager<BackOfficeIdentityUser>);
|
||||
builder.Services.Replace(ServiceDescriptor.Scoped(typeof(IBackOfficeUserManager), customType));
|
||||
builder.Services.AddScoped(customType, services => services.GetRequiredService(userManagerType));
|
||||
builder.Services.Replace(ServiceDescriptor.Scoped(userManagerType, customType));
|
||||
return builder;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user