예제 #1
0
        public async Task <HttpResponseMessage> Authorization()
        {
            var user = GetSessionUser(Request.Headers.GetCookies().FirstOrDefault());

            try {
                JObject queryJson = null;
                if (Request.RequestUri.TryReadQueryAsJson(out queryJson))
                {
                    KeyValuePair <string, string> permisssion = new KeyValuePair <string, string>();
                    if (queryJson["user"] != null)
                    {
                        permisssion = new KeyValuePair <string, string>("user", queryJson["user"].ToString());
                    }
                    else if (queryJson["group"] != null)
                    {
                        permisssion = new KeyValuePair <string, string>("group", queryJson["group"].ToString());
                    }
                    else if (queryJson["others"] != null)
                    {
                        permisssion = new KeyValuePair <string, string>("others", queryJson["others"].ToString());
                    }
                    await MyCoreApi.AssignPermission(new Guid(queryJson["id"].ToString()), user, queryJson["new"].ToString(), permisssion);

                    return(new HttpResponseMessage {
                        StatusCode = HttpStatusCode.OK
                    });
                }
                return(new HttpResponseMessage {
                    StatusCode = HttpStatusCode.Forbidden, Content = new StringContent("参数错误")
                });
            } catch (Exception e) {
                return(new HttpResponseMessage {
                    StatusCode = HttpStatusCode.Forbidden, Content = new StringContent(e.Message)
                });
            }
        }