| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- using Abp.Authorization;
- using Microsoft.AspNetCore.Identity;
- using Microsoft.Extensions.DependencyInjection.Extensions;
- using VberZero.Authorization;
- using VberZero.Authorization.Roles;
- using VberZero.Authorization.Users;
- using VberZero.BaseSystem.MultiTenancy;
- using VberZero.BaseSystem.Roles;
- using VberZero.BaseSystem.Users;
- // ReSharper disable once CheckNamespace - This is done to add extension methods to Microsoft.Extensions.DependencyInjection namespace
- namespace Microsoft.Extensions.DependencyInjection;
- public static class VzServiceCollectionExtensions
- {
- public static VzIdentityBuilder AddAbpIdentity(this IServiceCollection services)
- {
- return services.AddAbpIdentity(setupAction: null);
- }
- public static VzIdentityBuilder AddAbpIdentity(this IServiceCollection services, Action<IdentityOptions>? setupAction)
- {
- //services.AddSingleton<IAbpZeroEntityTypes>(new AbpZeroEntityTypes
- //{
- // Tenant = typeof(Tenant),
- // Role = typeof(Role),
- // User = typeof(User)
- //});
- //AbpTenantManager
- services.TryAddScoped<VzTenantManager>();
- //AbpEditionManager
- //services.TryAddScoped<AbpEditionManager>();
- //AbpRoleManager
- services.TryAddScoped<VzRoleManager>();
- services.TryAddScoped(typeof(RoleManager<Role>), provider => provider.GetService(typeof(VzRoleManager)) ?? throw new InvalidOperationException());
- //AbpUserManager
- services.TryAddScoped<VzUserManager>();
- services.TryAddScoped(typeof(UserManager<User>), provider => provider.GetService(typeof(VzUserManager)) ?? throw new InvalidOperationException());
- //SignInManager
- services.TryAddScoped<VzSignInManager>();
- services.TryAddScoped(typeof(SignInManager<User>), provider => provider.GetService(typeof(VzSignInManager)) ?? throw new InvalidOperationException());
- //AbpLogInManager
- services.TryAddScoped<VzLogInManager>();
- //AbpUserClaimsPrincipalFactory
- services.TryAddScoped<VzUserClaimsPrincipalFactory>();
- services.TryAddScoped(typeof(UserClaimsPrincipalFactory<User, Role>), provider => provider.GetService(typeof(VzUserClaimsPrincipalFactory)) ?? throw new InvalidOperationException());
- services.TryAddScoped(typeof(IUserClaimsPrincipalFactory<User>), provider => provider.GetService(typeof(VzUserClaimsPrincipalFactory)) ?? throw new InvalidOperationException());
- //AbpSecurityStampValidator
- services.TryAddScoped<VzSecurityStampValidator>();
- services.TryAddScoped(typeof(SecurityStampValidator<User>), provider => provider.GetService(typeof(VzSecurityStampValidator)) ?? throw new InvalidOperationException());
- services.TryAddScoped(typeof(ISecurityStampValidator), provider => provider.GetService(typeof(VzSecurityStampValidator)) ?? throw new InvalidOperationException());
- //PermissionChecker
- services.TryAddScoped<VzPermissionChecker>();
- services.TryAddScoped(typeof(IPermissionChecker), provider => provider.GetService(typeof(VzPermissionChecker)) ?? throw new InvalidOperationException());
- //AbpUserStore
- services.TryAddScoped<VzUserStore>();
- services.TryAddScoped(typeof(IUserStore<User>), provider => provider.GetService(typeof(VzUserStore)) ?? throw new InvalidOperationException());
- //AbpRoleStore
- services.TryAddScoped<VzRoleStore>();
- services.TryAddScoped(typeof(IRoleStore<Role>), provider => provider.GetService(typeof(VzRoleStore)) ?? throw new InvalidOperationException());
- //AbpFeatureValueStore
- //services.TryAddScoped<AbpFeatureValueStore>();
- //services.TryAddScoped(typeof(IFeatureValueStore), provider => provider.GetService(typeof(AbpFeatureValueStore)));
- return new VzIdentityBuilder(services.AddIdentity<User, Role>(setupAction), typeof(Tenant));
- }
- }
|