Netcore: Turn container validation back on (#9401)

* Remove RuntimeLevelAttribute & disable filtering

* Remove RuntimeLevelAttribute usage on Composers

* Fix broken tests

* Resolve UserManager registration issues.

* Turn container validation back on.

* Resolve lifetime issue post install backoffice.

* Remove final TODO: MSDI
This commit is contained in:
Paul Johnson
2020-11-17 07:56:04 +00:00
committed by GitHub
parent 76aada2aef
commit d498c1a2cd
29 changed files with 39 additions and 107 deletions

View File

@@ -52,9 +52,6 @@ namespace Umbraco.Extensions
services.TryAddScoped<IIpResolver, AspNetCoreIpResolver>();
// TODO: MSDI - This needs some work, e.g. additional registrations / not registering as UserManager<BackOfficeIdentityUser>
// if we want container validation back on.
services.BuildUmbracoBackOfficeIdentity()
.AddDefaultTokenProviders()
.AddUserStore<BackOfficeUserStore>()
@@ -85,12 +82,19 @@ namespace Umbraco.Extensions
services.GetRequiredService<IJsonSerializer>()));
services.TryAddScoped<IUserConfirmation<BackOfficeIdentityUser>, DefaultUserConfirmation<BackOfficeIdentityUser>>();
services.TryAddScoped<IUserClaimsPrincipalFactory<BackOfficeIdentityUser>, UserClaimsPrincipalFactory<BackOfficeIdentityUser>>();
services.TryAddScoped<UserManager<BackOfficeIdentityUser>>();
// CUSTOM:
services.TryAddScoped<BackOfficeLookupNormalizer>();
services.TryAddScoped<BackOfficeIdentityErrorDescriber>();
/*
* IdentityBuilderExtensions.AddUserManager adds UserManager<BackOfficeIdentityUser> to service collection
* To validate the container the following registrations are required (dependencies of UserManager<T>)
* Perhaps we shouldn't be registering UserManager<T> at all and only registering/depending the UmbracoBackOffice prefixed types.
*/
services.TryAddScoped<ILookupNormalizer, BackOfficeLookupNormalizer>();
services.TryAddScoped<IdentityErrorDescriber, BackOfficeIdentityErrorDescriber>();
return new BackOfficeIdentityBuilder(services);
}
}