public CheckAuthorizationResponse CheckAuthorization(CheckAuthorizationRequest request) { BusinessEntities.CheckAuthorizationParameters p = CheckAuthorizationTranslator.TranslateFromServiceToBusiness(request.CheckAuthorizationParameters); IClaimsIdentity claimsIdentity = Thread.CurrentPrincipal.Identity as IClaimsIdentity; p.Roles = (from c in claimsIdentity.Claims.FindAll(c => { return(c.ClaimType == ClaimTypes.GroupSid); }) select c.Value).ToList(); p.Roles.Add(claimsIdentity.Claims.FindAll(c => { return(c.ClaimType == ClaimTypes.Sid); }).First().Value); BusinessEntities.CheckAuthorizationResult businessResult = _checkAuthorizationAction.Execute(p); CheckAuthorizationResponse response = new CheckAuthorizationResponse(); response.CheckAuthorizationResult = CheckAuthorizationTranslator.TranslateFromBusinessToService(businessResult); return(response); }
public static Service.CheckAuthorizationResult TranslateFromBusinessToService(Business.CheckAuthorizationResult businessEntity) { Service.CheckAuthorizationResult result = new Service.CheckAuthorizationResult(); result.IsAuthorizationEnabled = businessEntity.IsAuthorizationEnabled; result.Operations = new Service.AuthOperationCollection(); foreach (Business.AuthOperation businessOperation in businessEntity.Operations) { Service.AuthOperation serviceOperation = new Service.AuthOperation() { Operation = businessOperation.Operation, IsAuthorized = businessOperation.IsAuthorized }; result.Operations.Add(serviceOperation); } return(result); }