对于approuter中的所有路由,始终禁止使用没有authenticationType的一条路由(403)

2020-08-15 10:08发布

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

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


大家好,

在我的CAP应用程序中,我有两个应用程序(通过fiori.html页面导航)。 使用此博客有关JWT令牌的文档,我能够使用approuter 当地。 在SCP上,我担任该应用程序的管理员角色。

现在我遇到了问题:一个应用程序(service:port/fiori.html#browse-people)始终可用,而另一个应用程序(service:port/fiori.html#manage-people)则永远不可用( 技术错误显示"禁止":403)。

在approuter中,如果我将" authenticationType":" none"更改为" xsuaa",则没有任何区别。
在服务定义中,我删除了所有限制。

我想知道第二条路线是否可以从其他来源限制,或者为什么我只能打开一条路线。


xs-app.json如下:

 {
     " welcomeFile":"/fiori.html",
     " authenticationMethod":"路由",
     "路线":[
       {
         " source":" ^/fiori.html(。*)",
         " destination":" srv-binding",
         " authenticationType":"无",
         " scope":" $ XSAPPNAME.admin",
         " csrfProtection":false
       },
       {
         "资源": "/img/",
         " destination":" srv-binding",
         " authenticationType":"无",
         " scope":" $ XSAPPNAME.admin",
         " csrfProtection":false
       }
     ]
   }

 
干杯,
索尔斯滕

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

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


大家好,

在我的CAP应用程序中,我有两个应用程序(通过fiori.html页面导航)。 使用此博客有关JWT令牌的文档,我能够使用approuter 当地。 在SCP上,我担任该应用程序的管理员角色。

现在我遇到了问题:一个应用程序(service:port/fiori.html#browse-people)始终可用,而另一个应用程序(service:port/fiori.html#manage-people)则永远不可用( 技术错误显示"禁止":403)。

在approuter中,如果我将" authenticationType":" none"更改为" xsuaa",则没有任何区别。
在服务定义中,我删除了所有限制。

我想知道第二条路线是否可以从其他来源限制,或者为什么我只能打开一条路线。


xs-app.json如下:

 {
     " welcomeFile":"/fiori.html",
     " authenticationMethod":"路由",
     "路线":[
       {
         " source":" ^/fiori.html(。*)",
         " destination":" srv-binding",
         " authenticationType":"无",
         " scope":" $ XSAPPNAME.admin",
         " csrfProtection":false
       },
       {
         "资源": "/img/",
         " destination":" srv-binding",
         " authenticationType":"无",
         " scope":" $ XSAPPNAME.admin",
         " csrfProtection":false
       }
     ]
   }

 
干杯,
索尔斯滕
付费偷看设置
发送
3条回答
SAP小菜
1楼 · 2020-08-15 10:22.采纳回答

Thorsten,你好

我有点惊讶,看到这个xs-app.json :)可以正常工作。

通常,您在那里至少有2条路线。 一个指向本地资源(用于Fiori UI),另一个指向目标服务器。 因此,典型的模式是:

 {
   " welcomeFile":" index.html",
   " authenticationMethod":"路由",
   "路线":[
    {
     " source":" ^/cap/(.*)$",
     " target":"/img/$ 1",
     "目标":"后端"
    },
    {
     " source":" ^(。*)$",
     " localDir":"。
    }
   ]
 }
 

此模式假定UI资源位于当前目录中。 通常,使用本地文件夹" resources"代替。

现在,所有对"/img/cap/..."的请求都将路由到在approuter的"目标"环境中配置的URL。 " <某些主机>/cap/admin/Books"->" <目标>/admin/Books"。

您还需要为您的UI提供一个匹配的manifest.json文件,其中包含指向包含"/img/cap"段的服务的正确路径。 例如:

 ...
         "数据源": {
             " AdminService":{
                 " uri":"/img/cap/admin/",
                 " type":" OData",
                 " settings":{" odataVersion":" 4.0"}
         },
 ... 

请勿在源代码模式中使用" fiori.html"。 这不是UI发送到CAP后端的请求的URL的一部分。 请注意,如果设置了" authenticationMethod":" route",则无需为路由指定" authenticationType":" xsuaa"。 然后," xsuaa"是所有路由的默认设置。

我建议朝这个方向清理xs-app.json,然后让我们进一步调试。 例如,学习发送谁是" Forbidden:403"是很有趣的。 这是approuter,还是CAP服务器?

关于

95年老男孩
2楼-- · 2020-08-15 10:29

嗨,Thorsten,

它是否仍可以与最新的NPM依赖项一起使用? 我遇到以下问题:

"表达":" ^ 4.17.1",
     " @ sap/audit-logging":" ^ 3.1.0",
     " @ sap/cds":" ^ 3.34.3",
     " @ sap/xssec":" ^ 3.0.6",

我只得到:

用户没有必需的权限

最诚挚的问候
格雷戈尔(Gregor)

zZ12138
3楼-- · 2020-08-15 10:23

当然可以了。
是错误,终于可以了:)

我在使用模拟数据时使用了后者。 应该将其注释掉(至少我最近才注释掉)。

无论如何,非常感谢您的帮助以及您的解释。 他们为我提供了很多帮助,尤其是他们拓宽了我对部署时需要注意的事项以及总体运行方式的基本了解!

欢呼

一周热门 更多>