|
|
@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Authorization; |
|
|
using Microsoft.AspNetCore.Identity; |
|
|
using Microsoft.AspNetCore.Identity; |
|
|
using Microsoft.Extensions.Options; |
|
|
using Microsoft.Extensions.Options; |
|
|
using Volo.Abp.Application.Dtos; |
|
|
using Volo.Abp.Application.Dtos; |
|
|
|
|
|
using Volo.Abp.Authorization.Permissions; |
|
|
using Volo.Abp.Data; |
|
|
using Volo.Abp.Data; |
|
|
using Volo.Abp.ObjectExtending; |
|
|
using Volo.Abp.ObjectExtending; |
|
|
|
|
|
|
|
|
@ -16,17 +17,19 @@ public class IdentityUserAppService : IdentityAppServiceBase, IIdentityUserAppSe |
|
|
protected IIdentityUserRepository UserRepository { get; } |
|
|
protected IIdentityUserRepository UserRepository { get; } |
|
|
protected IIdentityRoleRepository RoleRepository { get; } |
|
|
protected IIdentityRoleRepository RoleRepository { get; } |
|
|
protected IOptions<IdentityOptions> IdentityOptions { get; } |
|
|
protected IOptions<IdentityOptions> IdentityOptions { get; } |
|
|
|
|
|
protected IPermissionChecker PermissionChecker { get; } |
|
|
public IdentityUserAppService( |
|
|
public IdentityUserAppService( |
|
|
IdentityUserManager userManager, |
|
|
IdentityUserManager userManager, |
|
|
IIdentityUserRepository userRepository, |
|
|
IIdentityUserRepository userRepository, |
|
|
IIdentityRoleRepository roleRepository, |
|
|
IIdentityRoleRepository roleRepository, |
|
|
IOptions<IdentityOptions> identityOptions) |
|
|
IOptions<IdentityOptions> identityOptions, |
|
|
|
|
|
IPermissionChecker permissionChecker) |
|
|
{ |
|
|
{ |
|
|
UserManager = userManager; |
|
|
UserManager = userManager; |
|
|
UserRepository = userRepository; |
|
|
UserRepository = userRepository; |
|
|
RoleRepository = roleRepository; |
|
|
RoleRepository = roleRepository; |
|
|
IdentityOptions = identityOptions; |
|
|
IdentityOptions = identityOptions; |
|
|
|
|
|
PermissionChecker = permissionChecker; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
//TODO: [Authorize(IdentityPermissions.Users.Default)] should go the IdentityUserAppService class.
|
|
|
//TODO: [Authorize(IdentityPermissions.Users.Default)] should go the IdentityUserAppService class.
|
|
|
@ -169,6 +172,7 @@ public class IdentityUserAppService : IdentityAppServiceBase, IIdentityUserAppSe |
|
|
(await UserManager.SetEmailAsync(user, input.Email)).CheckErrors(); |
|
|
(await UserManager.SetEmailAsync(user, input.Email)).CheckErrors(); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (!string.Equals(user.PhoneNumber, input.PhoneNumber, StringComparison.InvariantCultureIgnoreCase)) |
|
|
if (!string.Equals(user.PhoneNumber, input.PhoneNumber, StringComparison.InvariantCultureIgnoreCase)) |
|
|
{ |
|
|
{ |
|
|
(await UserManager.SetPhoneNumberAsync(user, input.PhoneNumber)).CheckErrors(); |
|
|
(await UserManager.SetPhoneNumberAsync(user, input.PhoneNumber)).CheckErrors(); |
|
|
@ -183,7 +187,7 @@ public class IdentityUserAppService : IdentityAppServiceBase, IIdentityUserAppSe |
|
|
user.Surname = input.Surname; |
|
|
user.Surname = input.Surname; |
|
|
(await UserManager.UpdateAsync(user)).CheckErrors(); |
|
|
(await UserManager.UpdateAsync(user)).CheckErrors(); |
|
|
user.SetIsActive(input.IsActive); |
|
|
user.SetIsActive(input.IsActive); |
|
|
if (input.RoleNames != null) |
|
|
if (input.RoleNames != null && await PermissionChecker.IsGrantedAsync(IdentityPermissions.Users.ManageRoles)) |
|
|
{ |
|
|
{ |
|
|
(await UserManager.SetRolesAsync(user, input.RoleNames)).CheckErrors(); |
|
|
(await UserManager.SetRolesAsync(user, input.RoleNames)).CheckErrors(); |
|
|
} |
|
|
} |
|
|
|