XSUAA的CAPM Protect CDS服务

2020-08-15 18:18发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)嗨,那里 在遵循教程 http...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


嗨,那里

在遵循教程 https://developers.sap.com/时 tutorials/xsa-cap-add-uaa.html 通过AppRouter调用时,srv-Module(srv_api)受保护。

但是据我所知,仍然可以直接调用srv-Module(而不是通过AppRouter),然后srv没有受到保护。

如果使用基于CAPM模板的CDS oData服务,则可以添加一些用于访问限制的注释,例如@(requires:'authenticated-user')->参见 /img/questions/784681/more -info-on-cds-requires-statement-cloud-applicat.html

但是,如果这样做,则无法直接或通过AppRouter调用srv-Module,将出现错误消息"禁止"。

因此,我想知道如何通过通过AppRouter调用或直接在srv-Instance上对其进行保护来保护oData srv-Module。

最诚挚的问候,

9条回答
哎,真难
2020-08-15 18:38

嗨,格雷戈·沃尔夫和< rel =" nofollow" hraf=" https://people.sap.com/christian.georgi">克里斯蒂安·乔治(Georgi Georgi)

对不起,SPAM,这是我保证今天的最后评论:-)

上述所有服务/实体现在都被身份验证阻止的问题可以在您的GITHUB存储库中重现 https: //github.com/gregorwolf/bookshop-nodejs

只需构建/启动db and srv服务,然后向admin和catalog服务发出一些GET请求。

您将遇到,所有请求都将失败,并显示"未经授权"错误消息。 查看日志:

应用程序正在启动
 应用程序正在运行
 > bookshop-nodejs-srv@1.0.0开始/home/vcap/app
 >节点./node_modules/@sap/cds/bin/cds.js服务gen/csn.json
 [cds]-连接到数据源-hana:gen/csn.json
 [cds]-在/admin上提供AdminService
 [cds]-在/catalog上提供CatalogService
 [cds]-从以下位置加载的服务定义:
 gen/csn.json
 [cds]-服务器侦听http://localhost:59318 ...(以^ C终止)
 [cds]-发射于:5390.165ms
 GET/管理员/作者
 {user:'10 .0.136.0',ip:'10 .0.136.0'}
 GET/目录/作者
 {user:'10 .0.136.0',ip:'10 .0.136.0'}
 GET/目录/书籍
 {user:'10 .0.136.0',ip:'10 .0.136.0'}
 GET/目录/货币
 {user:'10 .0.136.0',ip:'10 .0.136.0'}
 GET/目录/订单
 {user:'10 .0.136.0',ip:'10 .0.136.0'} 

根据服务定义,对目录服务实体" Books"和" Authors"的GET请求应无需身份验证即可工作。 在这里,我还为"作者"实体添加了注释" @requires:'any'",只是指出它不能正常工作。

使用my.bookshop作为来自'../db/data-model'的数据库;

 服务CatalogService {

   @readonly实体书籍作为db.Books上的投影(不包括{
     createdBy,modifiedBy
   };

   @requires:'任何'
   @readonly实体作者作为db.Authors上的投影(不包括{
     createdBy,modifiedBy
   };

   @requires:"已认证用户"
   @insertonly实体Orders作为db.Orders上的投影;
 } 

我希望这可以帮助您分析问题。

期待解决方案。

最诚挚的问候,

Ben

一周热门 更多>