ABPCMS.Application/Roles/RoleAppService.cs
(开头部分) 4KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Abp.Application.Services;
using Abp.Application.Services.Dto;
using Abp.Authorization;
using Abp.Authorization.Users;
using Abp.Domain.Repositories;
using Abp.IdentityFramework;
using Abp.UI;
using ABPCMS.Authorization;
using ABPCMS.Authorization.Roles;
using ABPCMS.Authorization.Users;
using ABPCMS.Roles.Dto;
using Microsoft.AspNet.Identity;
namespace ABPCMS.Roles
{
[AbpAuthorize(PermissionNames.Pages_Roles)]
public class RoleAppService : AsyncCrudAppService<Role, RoleDto, int, PagedResultRequestDto, CreateRoleDto, RoleDto>, IRoleAppService
{
private readonly RoleManager _roleManager;
private readonly UserManager _userManager;
private readonly IRepository<User, long> _userRepository;
private readonly IRepository<UserRole, long> _userRoleRepository;
private readonly IRepository<Role> _roleRepository;
public RoleAppService(
IRepository<Role> repository,
RoleManager roleManager,
UserManager userManager,
IRepository<User, long> userRepository,
IRepository<UserRole, long> userRoleRepository,
IRepository<Role> roleRepository)
: base(repository)
{
_roleManager = roleManager;
_userManager = userManager;
_userRepository = userRepository;
_userRoleRepository = userRoleRepository;
_roleRepository = roleRepository;
}
public override async Task<RoleDto> Create(CreateRoleDto input)
{
CheckCreatePermission();
var role = ObjectMapper.Map<Role>(input);
CheckErrors(await _roleManager.CreateAsync(role));
var grantedPermissions = PermissionManager
.GetAllPermissions()
.Where(p => input.Permissions.Contains(p.Name))
.ToList();
await _roleManager.SetGrantedPermissionsAsync(role, grantedPermissions);
return MapToEntityDto(role);
}
后面还有 83 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
