/// <summary> /// 注入用户验证授权对象 /// </summary> /// <typeparam name="TUserManager"></typeparam> /// <param name="builder"></param> /// <returns></returns> public static NetCoreFrameIdentityBuilder AddFrameUserManager <TUserManager>(this NetCoreFrameIdentityBuilder builder) where TUserManager : class { var sysUserInfoManagerType = typeof(SysUserInfoManager <>).MakeGenericType(builder.UserType); var userManagerType = typeof(UserManager <>).MakeGenericType(builder.UserType); builder.Services.AddScoped(sysUserInfoManagerType, services => services.GetRequiredService(userManagerType)); builder.AddUserManager <TUserManager>(); return(builder); }
/// <summary> /// 注入用户对象仓储对象 /// </summary> /// <typeparam name="TUserStore"></typeparam> /// <param name="builder"></param> /// <returns></returns> public static NetCoreFrameIdentityBuilder AddFrameUserStore <TUserStore>(this NetCoreFrameIdentityBuilder builder) where TUserStore : class { var type = typeof(TUserStore); var sysUserInfoStoreType = typeof(SysUserInfoStore <>).MakeGenericType(builder.UserType); var userStoreType = typeof(IUserStore <>).MakeGenericType(builder.UserType); builder.Services.AddScoped(type); builder.Services.AddScoped(sysUserInfoStoreType, services => services.GetRequiredService(type)); builder.Services.AddScoped(userStoreType, services => services.GetRequiredService(type)); return(builder); }
/// <summary> /// 注入服务授权验证 /// </summary> /// <typeparam name="TPermissionChecker"></typeparam> /// <param name="builder"></param> /// <returns></returns> public static NetCoreFrameIdentityBuilder AddPermissionChecker <TPermissionChecker>(this NetCoreFrameIdentityBuilder builder) where TPermissionChecker : class { var type = typeof(TPermissionChecker); //var checkerType = typeof(PermissionCheckerCore<,>).MakeGenericType(builder.RoleType, builder.UserType); var checkerType = typeof(PermissionCheckerCore <>).MakeGenericType(builder.UserType); builder.Services.AddScoped(type); builder.Services.AddScoped(checkerType, provider => provider.GetService(type)); builder.Services.AddScoped(typeof(IPermissionChecker), provider => provider.GetService(type)); return(builder); }
/// <summary> /// 注入创建授权凭证对象 /// </summary> /// <typeparam name="TUserClaimsPrincipalFactory"></typeparam> /// <param name="builder"></param> /// <returns></returns> public static NetCoreFrameIdentityBuilder AddFrameUserClaimsPrincipalFactory <TUserClaimsPrincipalFactory>(this NetCoreFrameIdentityBuilder builder) where TUserClaimsPrincipalFactory : class { var type = typeof(TUserClaimsPrincipalFactory); builder.Services.AddScoped(typeof(UserClaimsPrincipalFactory <>).MakeGenericType(builder.UserType), services => services.GetRequiredService(type)); builder.Services.AddScoped(typeof(SysUserClaimsPrincipalFactory <>).MakeGenericType(builder.UserType), services => services.GetRequiredService(type)); builder.Services.AddScoped(typeof(IUserClaimsPrincipalFactory <>).MakeGenericType(builder.UserType), services => services.GetRequiredService(type)); builder.Services.AddScoped(type); return(builder); }