/// <summary> /// 角色管理 /// </summary> /// <param name="userManager"></param> /// <param name="roleManager"></param> /// <param name="logger"></param> public RoleManagerController(AspNetUserManager userManager, AspNetRoleManager roleManager, ILoggerFactory logger) { this.userManager = userManager; this.roleManager = roleManager; this.logger = logger; mapper = roleManager.Mapper; }
public async Task <IActionResult> CreateAllActionAsync() { AspNetRoleManager rolemger = GetService <AspNetRoleManager>(); IdentityRole admin = await rolemger.FindAsync(s => new IdentityRole { Id = s.Id }, d => d.Name.Equals("管理员")); var id = User.GetUserId(); var p = PermissionManager.GetAllActionByAssembly(); _permissionManager.Store.AutoSaveChanges = false; rolemger.Store.AutoSaveChanges = false; var bb = p.Each(action => { if (id.IsNotNullOrEmpty()) { action.CretaedUser = id; } }); foreach (var item in bb) { await rolemger.AddClaimAsync(admin, new Claim(item.Id, item.Id)); await _permissionManager.Store.CreateAsync(item, default); } rolemger.Store.AutoSaveChanges = true; _permissionManager.Store.AutoSaveChanges = true; await rolemger.Store.SaveChangesAsync(); var b = await _permissionManager.Store.SaveChangesAsync(); return(Json(b)); }
public CreateModel(UserManager <IdentityUser <Guid> > userManager, RoleManager <IdentityRole <Guid> > roleManager, AspNetRoleManager <IdentityUserRole <Guid> > netRoleManager, ApplicationDbContext db) { _userManager = userManager; _roleManager = roleManager; //_netRoleManager = netRoleManager; Db = db; }
public IdentityServiceFactory() { var dataProtectorTokenProvider = new DataProtectorTokenProvider <DbUser>( new EphemeralDataProtectionProvider(new NullLoggerFactory()), null, new NullLogger <DataProtectorTokenProvider <DbUser> >()); // service provider var serviceProviderMock = new Mock <IServiceProvider>(); var serviceScopeMock = new Mock <IServiceScope>(); serviceScopeMock.Setup(x => x.ServiceProvider).Returns(serviceProviderMock.Object); var serviceScopeFactoryMock = new Mock <IServiceScopeFactory>(); serviceScopeFactoryMock.Setup(x => x.CreateScope()).Returns(serviceScopeMock.Object); var authenticationServiceMock = new Mock <IAuthenticationService>(); serviceProviderMock.Setup(x => x.GetService(typeof(IServiceScopeFactory))).Returns(serviceScopeFactoryMock.Object); serviceProviderMock.Setup(x => x.GetService(typeof(DataProtectorTokenProvider <DbUser>))).Returns(dataProtectorTokenProvider); serviceProviderMock.Setup(x => x.GetService(typeof(IAuthenticationService))).Returns(authenticationServiceMock.Object); // http context var httpContextAccessorMock = new Mock <IHttpContextAccessor>(); var httpContext = new DefaultHttpContext { ServiceScopeFactory = serviceScopeFactoryMock.Object }; httpContextAccessorMock.Setup(x => x.HttpContext).Returns(httpContext); var httpContextAccessor = httpContextAccessorMock.Object; // identity services var identityOptionsAccessorMock = new Mock <IOptions <IdentityOptions> >(); identityOptionsAccessorMock.Setup(x => x.Value).Returns(() => new IdentityOptions { Tokens = new TokenOptions { ProviderMap = new Dictionary <string, TokenProviderDescriptor> { { TokenOptions.DefaultProvider, new TokenProviderDescriptor(typeof(DataProtectorTokenProvider <DbUser>)) }, // { TokenOptions.DefaultEmailProvider, new TokenProviderDescriptor(typeof(EmailTokenProvider<DbUser>)) } } }, User = new UserOptions { RequireUniqueEmail = true } }); var identityOptionsAccessor = identityOptionsAccessorMock.Object; var identityErrorDescriber = new IdentityErrorDescriber(); var lookupNormalizer = new UpperInvariantLookupNormalizer(); var connectionFactory = new DbConnectionFactory(); var userStore = new UserStore <Guid, DbUser, DbRole>(connectionFactory, identityErrorDescriber); var roleStore = new RoleStore <Guid, DbRole>(connectionFactory, identityErrorDescriber); var userManager = new UserManager <DbUser>(userStore, identityOptionsAccessor, new PasswordHasher <DbUser>(), null, null, lookupNormalizer, identityErrorDescriber, serviceProviderMock.Object, new NullLogger <UserManager <DbUser> >()); userManager.RegisterTokenProvider(TokenOptions.DefaultProvider, dataProtectorTokenProvider); var roleManager = new AspNetRoleManager <DbRole>(roleStore, null, lookupNormalizer, identityErrorDescriber, new NullLogger <RoleManager <DbRole> >(), httpContextAccessor); var userClaimsPrincipalFactory = new UserClaimsPrincipalFactory <DbUser, DbRole>(userManager, roleManager, identityOptionsAccessor); var signInManager = new SignInManager <DbUser>(userManager, httpContextAccessor, userClaimsPrincipalFactory, identityOptionsAccessor, new NullLogger <SignInManager <DbUser> >(), null, null); UserManager = userManager; RoleManager = roleManager; SignInManager = signInManager; }