Add SetMemberSignInManager builder extension (#14761)
* Add SetMemberSignInManager builder extension * Added required using statement --------- Co-authored-by: Emma Garland <emma.garland@rocksolidknowledge.com>
This commit is contained in:
@@ -3,6 +3,7 @@ using Microsoft.Extensions.DependencyInjection;
|
||||
using Microsoft.Extensions.DependencyInjection.Extensions;
|
||||
using Umbraco.Cms.Core.DependencyInjection;
|
||||
using Umbraco.Cms.Core.Security;
|
||||
using Umbraco.Cms.Web.Common.Security;
|
||||
|
||||
namespace Umbraco.Extensions;
|
||||
|
||||
@@ -39,6 +40,17 @@ public static partial class UmbracoApplicationBuilderExtensions
|
||||
return builder;
|
||||
}
|
||||
|
||||
public static IUmbracoBuilder SetMemberSignInManager<TSignInManager>(this IUmbracoBuilder builder)
|
||||
where TSignInManager : SignInManager<MemberIdentityUser>, IMemberSignInManager
|
||||
{
|
||||
Type customType = typeof(TSignInManager);
|
||||
Type signInManagerType = typeof(SignInManager<MemberIdentityUser>);
|
||||
builder.Services.Replace(ServiceDescriptor.Scoped(typeof(IMemberSignInManager), customType));
|
||||
builder.Services.AddScoped(customType, services => services.GetRequiredService(signInManagerType));
|
||||
builder.Services.Replace(ServiceDescriptor.Scoped(signInManagerType, customType));
|
||||
return builder;
|
||||
}
|
||||
|
||||
public static IUmbracoBuilder SetMemberUserStore<TUserStore>(this IUmbracoBuilder builder)
|
||||
where TUserStore : MemberUserStore
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user