示例#1
0
        public static Dictionary <int, List <int> > GetSiteKeysByRcc(this ResolveFieldContext context)
        {
            //context.ThrowIfInvalidAuthorization();
            GraphQLUserContext ctx = context.UserContext as GraphQLUserContext;

            return(ctx.SiteIds);
        }
示例#2
0
        public static bool ThrowIfInvalidAuthorization(this ResolveFieldContext context)
        {
            GraphQLUserContext ctx = context.UserContext as GraphQLUserContext;

            if (ctx.UserClaim.Identity == null || ctx.UserClaim.Identity.IsAuthenticated == false)
            {
                context.Errors.Add(new GraphQL.ExecutionError("권한이 없습니다"));
                return(false);
                //throw new Exception("권한이 없습니다");
            }
            else if (ctx.UserClaim.HasClaim(x => x.Type == GraphQLUserContext.SiteIdsByRccClaim) == false)
            {
                context.Errors.Add(new GraphQL.ExecutionError("대상자에게는 사이트에 대한 요구(Claim)가 존재하지 않습니다"));
                return(false);
            }
            ctx.UpdateClaimsValue();
            return(true);
        }
示例#3
0
        public static HashSet <int> GetAllSiteIds(this ResolveFieldContext context)
        {
            GraphQLUserContext ctx = context.UserContext as GraphQLUserContext;

            return(ctx.AllSiteIds);
        }