private static void AddRolesFor(this ClaimsIdentity identity, ServiceClaim claim) { switch (claim) { case ServiceClaim.DAA: identity.AddRole(RoleNames.HasAccountOwnerPermission); identity.AddRole(RoleNames.HasContributorWithApprovalOrAbovePermission); identity.AddRole(RoleNames.HasContributorOrAbovePermission); identity.AddRole(RoleNames.HasViewerOrAbovePermission); identity.AddRole(RoleNames.DasPermission); break; case ServiceClaim.DAB: identity.AddRole(RoleNames.HasContributorWithApprovalOrAbovePermission); identity.AddRole(RoleNames.HasContributorOrAbovePermission); identity.AddRole(RoleNames.HasViewerOrAbovePermission); identity.AddRole(RoleNames.DasPermission); break; case ServiceClaim.DAC: identity.AddRole(RoleNames.HasContributorOrAbovePermission); identity.AddRole(RoleNames.HasViewerOrAbovePermission); identity.AddRole(RoleNames.DasPermission); break; case ServiceClaim.DAV: identity.AddRole(RoleNames.HasViewerOrAbovePermission); identity.AddRole(RoleNames.DasPermission); break; } }
public static bool HasPermission(this ClaimsPrincipal user, ServiceClaim minimumRequiredClaim) { var serviceClaims = user .FindAll(c => c.Type == ProviderRecruitClaims.IdamsUserServiceTypeClaimTypeIdentifier) .Select(c => c.Value) .ToList(); ServiceClaim?highestClaim = null; if (serviceClaims.Contains(ServiceClaim.DAA.ToString())) { highestClaim = ServiceClaim.DAA; } else if (serviceClaims.Contains(ServiceClaim.DAB.ToString())) { highestClaim = ServiceClaim.DAB; } else if (serviceClaims.Contains(ServiceClaim.DAC.ToString())) { highestClaim = ServiceClaim.DAC; } else if (serviceClaims.Contains(ServiceClaim.DAV.ToString())) { highestClaim = ServiceClaim.DAV; } return(highestClaim.HasValue && highestClaim.Value >= minimumRequiredClaim); }
public void ShouldReturnHasPermission(ServiceClaim minimumServiceClaim, ServiceClaim[] actualServiceClaims, bool expected) { var claims = actualServiceClaims.Select(a => new Claim(ProviderRecruitClaims.IdamsUserServiceTypeClaimTypeIdentifier, a.ToString())); var identity = new ClaimsIdentity(claims, "TestAuthType"); var claimsPrincipal = new ClaimsPrincipal(identity); bool result = claimsPrincipal.HasPermission(minimumServiceClaim); result.Should().Be(expected); }
public void ShouldHandleNonDasClaimPermissions(ServiceClaim minimumServiceClaim, string[] actualServiceClaims, bool expected) { var claims = actualServiceClaims.Select(a => new Claim(ProviderClaims.Service, a)); var identity = new ClaimsIdentity(claims, "TestAuthType"); var claimsPrincipal = new ClaimsPrincipal(identity); bool result = claimsPrincipal.HasPermission(minimumServiceClaim); Assert.AreEqual(expected, result); }
public IList <ServiceClaim> GetServiceClaimForOrder(IUnitOfWork uow, Vodovoz.Domain.Orders.Order order) { ServiceClaim serviceClaimAlias = null; Vodovoz.Domain.Orders.Order initialOrderAlias = null, finalOrderAlias = null; var queryOver = uow.Session.QueryOver(() => serviceClaimAlias) .JoinAlias(s => s.InitialOrder, () => initialOrderAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin) .JoinAlias(s => s.FinalOrder, () => finalOrderAlias, NHibernate.SqlCommand.JoinType.LeftOuterJoin) .Where(s => initialOrderAlias.Id == order.Id || finalOrderAlias.Id == order.Id); return(queryOver.List <ServiceClaim> ()); }
public QueryOver <ServiceClaim> GetDoneClaimsForClient(Vodovoz.Domain.Orders.Order order) { ServiceClaim serviceClaimAlias = null; Counterparty counterpartyAlias = null; var queryOver = QueryOver.Of(() => serviceClaimAlias) .JoinAlias(s => s.Counterparty, () => counterpartyAlias) .Where(s => counterpartyAlias.Id == order.Client.Id && s.Status == ServiceClaimStatus.Ready && s.FinalOrder == null && s.Payment == order.PaymentType); return(queryOver); }
public async Task Verify_Minimum_Claim_Requirement( ServiceClaim userServiceClaim, ServiceClaim minimumRequirementClaim, bool hasSucceeded) { WhenHandlingRequestFixture fixture = new WhenHandlingRequestFixture(); var context = fixture.SetWithProviderUserServiceClaims(new List <ServiceClaim> { userServiceClaim }, new MinimumServiceClaimRequirement(minimumRequirementClaim)); //Act await fixture.Handle(context); //Assert context.HasSucceeded.Should().Equals(hasSucceeded); }
public MinimumServiceClaimRequirement(ServiceClaim minimumServiceClaim) { MinimumServiceClaim = minimumServiceClaim; }
public ClaimController() { myService = new ServiceClaim(); }