예제 #1
0
    public async Task AddDefaultRolesAsync_In_Same_Uow()
    {
        await _identityOptions.SetAsync();

        await CreateRandomDefaultRoleAsync();

        using (var uow = _unitOfWorkManager.Begin())
        {
            var user = CreateRandomUser();

            (await _identityUserManager.CreateAsync(user)).CheckErrors();

            user.Roles.Count.ShouldBe(0);

            await _identityUserManager.AddDefaultRolesAsync(user);

            user.Roles.Count.ShouldBeGreaterThan(0);

            foreach (var roleId in user.Roles.Select(r => r.RoleId))
            {
                var role = await _identityRoleRepository.GetAsync(roleId);

                role.IsDefault.ShouldBe(true);
            }

            await uow.CompleteAsync();
        }
    }
예제 #2
0
        public virtual async Task <IdentityUser> CreateAsync(UserInfoModel userInfoModel, string loginProvider, string providerKey)
        {
            var identityUser = new IdentityUser(_guidGenerator.Create(), await GenerateUserNameAsync(userInfoModel),
                                                await GenerateEmailAsync(userInfoModel), _currentTenant.Id);

            CheckIdentityResult(await _identityUserManager.CreateAsync(identityUser));

            CheckIdentityResult(await _identityUserManager.AddDefaultRolesAsync(identityUser));

            CheckIdentityResult(await _identityUserManager.AddLoginAsync(identityUser,
                                                                         new UserLoginInfo(loginProvider, providerKey, "微信用户")));

            return(identityUser);
        }
예제 #3
0
        public virtual async Task <IdentityUser> CreateAsync(string loginProvider, string providerKey)
        {
            await _identityOptions.SetAsync();

            var identityUser = new IdentityUser(_guidGenerator.Create(), await GenerateUserNameAsync(),
                                                await GenerateEmailAsync(), _currentTenant.Id);

            (await _identityUserManager.CreateAsync(identityUser)).CheckErrors();

            (await _identityUserManager.AddDefaultRolesAsync(identityUser)).CheckErrors();

            (await _identityUserManager.AddLoginAsync(identityUser,
                                                      new UserLoginInfo(loginProvider, providerKey,
                                                                        WeChatManagementCommonConsts.WeChatUserLoginInfoDisplayName))).CheckErrors();

            return(identityUser);
        }