Moqui授权
Moqui Authorization
我正在尝试使用 REST API 访问 Moqui 实体。这是一个示例调用。
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 访问实体?
结帐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"/>
注意:这不适用于生产系统。将所有实体的访问权限授予单个角色是一个巨大的安全风险。确保您花时间并计划授权。
我正在尝试使用 REST API 访问 Moqui 实体。这是一个示例调用。
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 访问实体?
结帐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"/>
注意:这不适用于生产系统。将所有实体的访问权限授予单个角色是一个巨大的安全风险。确保您花时间并计划授权。