Moqui Авторизация - PullRequest
       47

Moqui Авторизация

0 голосов
/ 20 февраля 2019

Я пытаюсь получить доступ к сущностям Moqui, используя REST API.Вот пример вызова.

GET http://localhost:8080/rest/m1/products/default
Accept: application/application/json
Authorization: Basic am9obi5kb2U6bW9xdWk=

Я получаю следующий ответ

{
  "errorCode": 403,
  "errors": "User john.doe is not authorized for View on Entity mantle.product.Product"
}

Однако вызовы служб mantle-usl работают нормально, как показано в следующем примере

GET http://localhost:8080/rest/s1/mantle/facilities/
Accept: application/application/json
Authorization: Basic am9obi5kb2U6bW9xdWk=

[
  {
    "facilityId": "ZIRET_WH",
    "pseudoId": "ZIRET_WH",
    "facilityTypeEnumId": "FcTpWarehouse",
    "ownerPartyId": "ORG_ZIZI_RETAIL",
    "facilityName": "Ziziwork Retail Warehouse",
    "assetAllowIssueOverQoh": "Y",
    "lastUpdatedStamp": 1550661258932
  }
]

Как разрешить пользователю доступ к объектам с помощью REST API?

1 Ответ

0 голосов
/ 23 февраля 2019

Оформление заказа https://www.moqui.org/m/docs/framework/Security#artifact-authz

Следующий текст скопирован из документации Moqui.

Первым шагом для настройки авторизации артефакта является создание группы артефактов.Это включает запись ArtifactGroup и запись ArtifactGroupMember для каждого артефакта или шаблона имени артефакта в группе.

Например, вот группа артефактов для приложения-примера с корневым экраном (ExampleApp.xml) в качестве члена группы:

<moqui.security.ArtifactGroup artifactGroupId="EXAMPLE_APP" description="Example App (via root screen)"/>
<moqui.security.ArtifactGroupMember artifactGroupId="EXAMPLE_APP" artifactTypeEnumId="AT_XML_SCREEN" inheritAuthz="Y" artifactName="component://example/screen/ExampleApp.xml"/>

Если вы спешите, читайте дальше.

Попробуйте добавить следующий фрагмент кода в ExampleZzzDemoData.xml

<moqui.security.ArtifactGroupMember artifactGroupId="EXAMPLE_APP" artifactName="mantle\..*"
                                        nameIsPattern="Y" artifactTypeEnumId="AT_ENTITY" inheritAuthz="Y"/>

Примечание: Это не для производственной системы.Огромный риск безопасности - дать доступ всем сущностям к одной роли.Убедитесь, что вы нашли время и спланировали авторизацию.

...