public static XacmlJsonRequestRoot CreateDecisionRequest(AuthorizationHandlerContext context, AppAccessRequirement requirement, RouteData routeData) { XacmlJsonRequest request = new XacmlJsonRequest(); request.AccessSubject = new List <XacmlJsonCategory>(); request.Action = new List <XacmlJsonCategory>(); request.Resource = new List <XacmlJsonCategory>(); string instanceGuid = routeData.Values[ParamInstanceGuid] as string; string app = routeData.Values[ParamApp] as string; string org = routeData.Values[ParamOrg] as string; string instanceOwnerPartyId = routeData.Values[ParamInstanceOwnerPartyId] as string; if (string.IsNullOrWhiteSpace(app) && string.IsNullOrWhiteSpace(org)) { string appId = routeData.Values[ParamAppId] as string; if (appId != null) { org = appId.Split("/")[0]; app = appId.Split("/")[1]; } } request.AccessSubject.Add(CreateSubjectCategory(context.User.Claims)); request.Action.Add(CreateActionCategory(requirement.ActionType)); request.Resource.Add(CreateResourceCategory(org, app, instanceOwnerPartyId, instanceGuid)); XacmlJsonRequestRoot jsonRequest = new XacmlJsonRequestRoot() { Request = request }; return(jsonRequest); }
public static XacmlJsonRequestRoot CreateXacmlJsonRequestRoot(AuthorizationHandlerContext context, AppAccessRequirement requirement, RouteData routeData) { XacmlJsonRequest request = new XacmlJsonRequest(); request.AccessSubject = new List <XacmlJsonCategory>(); request.Action = new List <XacmlJsonCategory>(); request.Resource = new List <XacmlJsonCategory>(); string instanceGuid = routeData.Values[ParamInstanceGuid] as string; string app = routeData.Values[ParamApp] as string; string org = routeData.Values[ParamOrg] as string; string instanceOwnerPartyId = routeData.Values[ParamInstanceOwnerPartyId] as string; request.AccessSubject.Add(CreateSubjectCategory(context.User.Claims)); request.Action.Add(CreateActionCategory(requirement.ActionType)); request.Resource.Add(CreateResourceCategory(org, app, instanceOwnerPartyId, instanceGuid)); XacmlJsonRequestRoot jsonRequest = new XacmlJsonRequestRoot() { Request = request }; return(jsonRequest); }