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:
@@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -225,11 +225,11 @@ namespace Umbraco.Web.BackOffice.Security
|
||||
/// </remarks>
|
||||
private async Task EnsureValidSessionId(CookieValidatePrincipalContext context)
|
||||
{
|
||||
if (_runtimeState.Level == RuntimeLevel.Run)
|
||||
{
|
||||
var validator = _serviceProvider.GetRequiredService<BackOfficeSessionIdValidator>();
|
||||
await validator.ValidateSessionAsync(TimeSpan.FromMinutes(1), context);
|
||||
}
|
||||
if (_runtimeState.Level != RuntimeLevel.Run) return;
|
||||
|
||||
using var scope = _serviceProvider.CreateScope();
|
||||
var validator = scope.ServiceProvider.GetRequiredService<BackOfficeSessionIdValidator>();
|
||||
await validator.ValidateSessionAsync(TimeSpan.FromMinutes(1), context);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -3,7 +3,6 @@ using Umbraco.Core.Composing;
|
||||
|
||||
namespace Umbraco.Web.BackOffice.SignalR
|
||||
{
|
||||
[RuntimeLevel(MinLevel = RuntimeLevel.Run)]
|
||||
public class PreviewHubComposer : ComponentComposer<PreviewHubComponent>, ICoreComposer
|
||||
{
|
||||
public override void Compose(Composition composition)
|
||||
|
||||
Reference in New Issue
Block a user