Beispiel #1
0
        public static bool is_authorized_to_handle_jurisdiction_id
        (
            System.Security.Claims.ClaimsPrincipal p_claims_principal,
            ResourceRightEnum p_resource_action,
            mmria.common.model.couchdb.user_role_jurisdiction p_user_role_jurisdiction
        )
        {
            bool result = false;

            var jurisdiction_hashset = mmria.server.util.authorization.get_current_jurisdiction_id_set_for(p_claims_principal);

            foreach (var jurisdiction_item in  jurisdiction_hashset)
            {
                var regex = new System.Text.RegularExpressions.Regex("^" + jurisdiction_item.jurisdiction_id);
                if
                (p_user_role_jurisdiction.jurisdiction_id != null &&
                 regex.IsMatch(p_user_role_jurisdiction.jurisdiction_id) &&
                 p_resource_action == jurisdiction_item.ResourceRight

                )
                {
                    result = true;
                    break;
                }
            }


            return(result);
        }
        public async System.Threading.Tasks.Task <mmria.common.model.couchdb.document_put_response> Post
        (
            [FromBody] mmria.common.model.couchdb.user_role_jurisdiction user_role_jurisdiction
        )
        {
            string user_role_jurisdiction_json;

            mmria.common.model.couchdb.document_put_response result = new mmria.common.model.couchdb.document_put_response();

            try
            {
                if (!mmria.server.util.authorization_user.is_authorized_to_handle_jurisdiction_id(User, mmria.server.util.ResourceRightEnum.WriteUser, user_role_jurisdiction))
                {
                    return(null);
                }

                Newtonsoft.Json.JsonSerializerSettings settings = new Newtonsoft.Json.JsonSerializerSettings();
                settings.NullValueHandling  = Newtonsoft.Json.NullValueHandling.Ignore;
                user_role_jurisdiction_json = Newtonsoft.Json.JsonConvert.SerializeObject(user_role_jurisdiction, settings);

                string jurisdiction_tree_url = Program.config_couchdb_url + "/jurisdiction/" + user_role_jurisdiction._id;


                cURL document_curl = new cURL("PUT", null, jurisdiction_tree_url, user_role_jurisdiction_json, Program.config_timer_user_name, Program.config_timer_password);


                try
                {
                    string responseFromServer = await document_curl.executeAsync();

                    result = Newtonsoft.Json.JsonConvert.DeserializeObject <mmria.common.model.couchdb.document_put_response>(responseFromServer);
                }
                catch (Exception ex)
                {
                    Log.Information($"jurisdiction_treeController:{ex}");
                }


                if (!result.ok)
                {
                }
            }
            catch (Exception ex)
            {
                Log.Information($"{ex}");
            }

            return(result);
        }