private bool VerifyUserPermissions(string[] requiredPermissions, DataTransferContext context) { var labels = userMapper.GetUserLabels(context.Identity); var authType = ((ClaimsIdentity)context.Identity).AuthenticationType; if (securityRepo.IsAuthenticated(labels, authType)) { var permissions = securityRepo .GetPermissions(labels, authType) .Select(n => n.PermissionName).Distinct().ToArray(); return(requiredPermissions.Length == 0 || requiredPermissions.Any(t => permissions.Contains(t, StringComparer.OrdinalIgnoreCase))); } return(false); }
protected override IEnumerable <KeyValuePair <string, string> > SelectCustomProperties(IIdentity identity) { return(securityRepo.GetCustomProperties(nameMapper.GetUserLabels(identity), identity.AuthenticationType).Select(m => new KeyValuePair <string, string>(m.PropertyName, m.Value))); }