Ubicación de plantillas y control de permisos de index.html generado por SAP CAP project cds watch

¡Acostúmbrate a escribir juntos! Este es el octavo día de mi participación en el "Nuggets Daily New Plan · April Update Challenge", haz clic para ver los detalles del evento .

Utilícelo para cds initinicializar una aplicación CAP y, a continuación npm install, cds watchinicie el servidor.

Cree un archivo de esquema con el siguiente contenido:

namespace sap.ui.riskmanagement;
using { managed } from '@sap/cds/common';
  entity Risks : managed {
    key ID      : UUID  @(Core.Computed : true);
    title       : String(100);
  }
  entity Mitigations : managed {
    key ID       : UUID  @(Core.Computed : true);
    risks        : Association to many Risks on risks.miti = $self;
  }
复制代码

Tenga en cuenta que los archivos de esquema pueden definir espacios de nombres.

Las claves para estos dos modelos las completa automáticamente el servidor CAP, que se expone a los usuarios del servicio mediante la anotación @(Core.Computed: true).

Solo la entidad no puede ser consumida por el usuario final y necesita estar expuesta al exterior a través del servicio.

Cree un nuevo archivo en srvla carpeta risk-service.cds, tenga en cuenta que este archivo y el archivo de esquema de entidad están en una carpeta diferente (el primero está en db):

using { sap.ui.riskmanagement as my } from '../db/schema';
@path: 'service/risk'
service RiskService {
  entity Risks as projection on my.Risks;
    annotate Risks with @odata.draft.enabled;
  entity Mitigations as projection on my.Mitigations;
    annotate Mitigations with @odata.draft.enabled;
}
复制代码

Utilice la página generada automáticamente para cds watchver :

La ubicación del archivo de plantilla para este index.html:

node_modules@sap\cds-dk\node_modules@sap\cds\app\index.html

rolesEn el archivo de seguridad de la aplicación (xs-security.json), la propiedad de plantillas de roles le permite definir una matriz que enumera uno o más (con los ámbitos correspondientes y las propiedades requeridas) necesarios para acceder a un módulo de aplicación en particular Se pueden definir varias plantillas de roles, cada una con su propio ámbito y propiedades.

un ejemplo:

"role-templates": [ 
     { 
      "name"                : "Editor", 
      "description"         : "View, edit, delete books", 
      "scope-references"    : [ 
                              "$XSAPPNAME.Edit", "$XSAPPNAME.Delete"  
                              ], 
      "attribute-references": [ 
                              "Country", "CostCenter" 
                              ]  
     },
]
复制代码

Se debe crear una instancia de una plantilla de rol. Esto es especialmente cierto para los atributos y valores de atributos concretos definidos en la plantilla de roles, que requieren personalización y, por lo tanto, no se pueden proporcionar automáticamente. Las plantillas de roles que contienen solo un ámbito "local" se pueden crear instancias sin la interacción del usuario. Lo mismo ocurre con los ámbitos extranjeros, en los que el propietario del ámbito ha declarado su consentimiento en algún tipo de lista blanca (por ejemplo, para uso "público" o "amigos" conocidos).

Supongo que te gusta

Origin juejin.im/post/7084074755745136671
Recomendado
Clasificación