public ApiService(IRepository <ApiEntity, Guid> apiRepository, IPermissionCacheService permissionCacheService, IUnitOfWork <BaseIdentityDbContext> unitOfWork) { _apiRepository = apiRepository; _permissionCacheService = permissionCacheService; _unitOfWork = unitOfWork; }
public ElementService(IRepository <Ele, Guid> elementRepository, IRepository <EleTree, Guid> elementTreeRepository, IRepository <ElementApi, Guid> elementApiRepository, IUnitOfWork <BaseIdentityDbContext> unitOfWork, IPermissionCacheService permissionCacheService, IMapper mapper) { _elementRepository = elementRepository; _elementTreeRepository = elementTreeRepository; _elementApiRepository = elementApiRepository; _unitOfWork = unitOfWork; _permissionCacheService = permissionCacheService; _mapper = mapper; }
public AccountController(IJwtFactory jwtFactory, IAccountService accountService, IUserService userService, IRoleService roleService, IRuleService ruleService, IPermissionCacheService permissionCacheService, IMemoryCache memoryCache) { _jwtFactory = jwtFactory; _accountService = accountService; _userService = userService; _roleService = roleService; _ruleService = ruleService; _permissionCacheService = permissionCacheService; _memoryCache = memoryCache; }
public RoleService(RoleManager <BaseIdentityRole> roleManager, IRepository <ElementEntity, Guid> elementRepository, IRepository <ElementTree, Guid> elementTreeRepository, IRepository <ElementApi, Guid> elementApiRepository, IRepository <ApiEntity, Guid> apiRepository, IPermissionCacheService permissionCacheService, IMemoryCache memoryCache, IMapper mapper) { _roleManager = roleManager; _elementRepository = elementRepository; _elementTreeRepository = elementTreeRepository; _elementApiRepository = elementApiRepository; _apiRepository = apiRepository; _permissionCacheService = permissionCacheService; _memoryCache = memoryCache; _mapper = mapper; }
public BaseRepository(IHttpContextAccessor httpContextAccessor, IMemoryCache memoryCache, IPermissionCacheService permissionCacheService) { _context = httpContextAccessor.HttpContext.RequestServices.GetService <TDbContext>(); _dataSet = _context.Set <TEntity>(); var userName = httpContextAccessor.HttpContext.User.GetClaimValue(CustomClaimTypes.UserName); if (!string.IsNullOrEmpty(userName)) { // 表达式合集 var expressionList = new List <LambdaExpression>(); // 取得用户的数据规则 var permissions = permissionCacheService.GetRuleAsync(typeof(TDbContext).Name, typeof(TEntity).Name).Result; // 所有规则组 foreach (var groupRuleStr in permissions) { // 表达式反序列化 var serializer = new ExpressionSerializer(new JsonSerializer()); serializer.AddKnownType(typeof(Core.Expressions.ExpressionType)); var lambda = (LambdaExpression)serializer.DeserializeText(groupRuleStr); expressionList.Add(lambda); } // 连接lambda表达式生成统一条件 if (expressionList.Count > 0) { _condition = (Expression <Func <TEntity, bool> >)(new ExpressionUtil <TEntity>() .JoinLambdaExpression(expressionList, ExpressionCombineType.And)); } } }
public ApiAuthorizationHandler(IMemoryCache memoryCache, IPermissionCacheService permissionCacheService) { _memoryCache = memoryCache; _permissionCacheService = permissionCacheService; }
public BaseRepository(IHttpContextAccessor httpContextAccessor, IMemoryCache memoryCache, IPermissionCacheService permissionCacheService) { _context = httpContextAccessor.HttpContext.RequestServices.GetService <TDbContext>(); _dataSet = _context.Set <TEntity>(); var userName = httpContextAccessor.HttpContext.User.Claims.FirstOrDefault(c => c.Type == CustomClaimTypes.UserName)?.Value; var userRoles = httpContextAccessor.HttpContext.User.GetClaimValue(CustomClaimTypes.Role).Split(',', StringSplitOptions.RemoveEmptyEntries); if (!string.IsNullOrEmpty(userName)) { // 表达式合集 var expressionList = new List <LambdaExpression>(); // 取得用户的数据规则 var permissions = permissionCacheService.GetUserRuleAsync(userName, userRoles).Result; // 所有规则组 foreach (var group in permissions) { // 找到符合当前实体的规则 var items = group.Split('|'); if (items[0] == typeof(TDbContext).Name && items[1] == typeof(TEntity).Name) { // 表达式反序列化 var serializer = new ExpressionSerializer(new JsonSerializer()); serializer.AddKnownType(typeof(Core.Expressions.ExpressionType)); var lambda = (LambdaExpression)serializer.DeserializeText(items[2]); expressionList.Add(lambda); } } // 连接lambda表达式生成统一条件 if (expressionList.Count > 0) { _condition = (Expression <Func <TEntity, bool> >)(new ExpressionUtil <TEntity>() .JoinLambdaExpression(expressionList, ExpressionCombineType.And)); } } }
public PermissionService(INigelDbRepository db, IMapper mapper, IPermissionCacheService permissionCacheService) { this.db = db; this.mapper = mapper; this.permissionCacheService = permissionCacheService; }
public ApiAuthorizationHandler(IHttpContextAccessor httpContextAccessor, IPermissionCacheService permissionCacheService) { _httpContextAccessor = httpContextAccessor; _permissionCacheService = permissionCacheService; }