Извлечение сверху вниз ответов из документа - PullRequest
0 голосов
/ 27 августа 2018

Рассмотрим следующую авторизацию: json

{
    "users" : ["sys_adm"]
    ,"Sales" : {
        "users" : ["sales_adm"]
        ,"Report" : {
            "users" : ["sales_rep_adm"]
            ,"companies" : [
                { 
                    "name" :"XPT" 
                    ,"users" : ["sales_rep_xpt_adm"]
                    ,"contracts" : {
                        "0000200022" : {
                            "name" : "My contract number 0000200022"
                            ,"users": ["simple_user"]
                        }
                    }
                },
                { 
                    "name" : "QWR" 
                    ,"users" : []
                    ,"contracts" : {
                        "0000200033" : {
                            "name" : "My contract number 0000200033"
                            ,"users": ["simple_user"]
                        }
                    }
                }
            ]  
        }
    }
}

Я пытаюсь разработать схему авторизации, но у меня возникают трудности с извлечением ответов с помощью эластичных запросов.

Если я использую какОтфильтруйте пользователя simple_user для возврата контрактов независимо от названия компании, поэтому ответом будет 0000200022 и 0000200033 .Как я могу достичь этого?

Если я использую в качестве фильтра пользователя sys_adm для возврата контрактов, независимо от названия компании, поэтому ответ будет 0000200022 и 0000200033 .Как я могу достичь этого?

Если я использую в качестве фильтра пользователя sales_adm , чтобы возвращать только названия компаний, то ответ будет XPT и QWR .Как я могу достичь этого?

По всем вышеупомянутым вопросам учтите, что вы не знаете, в какой структуре находится пользователь, и авторизация имеет нисходящую концепцию, то есть sys_adm имеет доступ ко всем структурам.ниже и так далее для других пользователей.

Я действительно ценю любую помощь, даже ответ, что это невозможно:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...