点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 在我的应用程序中,我...
点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)大家好, 在我的应用程序中,我...
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
在我的应用程序中,我正在使用多个服务,一个approuter以及xsuaa身份验证方法(SAP ID身份验证服务)。 这些服务受到限制,一个需要开发人员角色,另一个需要经过身份验证的用户。
如果我在本地启动approuter并在私有窗口中启动该应用程序,那么我将转到SAP ID登录页面。 与我的用户登录后,我便可以使用该应用程序(因为我将开发者角色应用于我的用户,并且成功登录后,我也是经过身份验证的用户)。
但是,如果我将应用程序部署到SCP并启动approuter,我仍将转到SAP ID登录页面。 成功登录后,我将转到我的应用开始页面。 奇怪的是,我无法使用该应用程序。 当我检查检查器时,我发现尝试访问服务时收到403-禁止错误。
我的假设是mta.yaml,xs-security.json和approuter之间的某些链接出错。 由于我可以登录,但似乎无法识别开发人员角色。
感谢任何提示! 此外,在xs-security.json(在开头)和mta.yaml文件(在结尾)中,我写了一些问题(标有"-")。
干杯,
索尔斯滕
approuter:
{ " welcomeFile":"/img/app/", " authenticationMethod":"路由", "路线":[ { " source":" ^/app/(.*)$", " target":" $ 1", " localDir":" ./" }, { " source":" ^/getPerson/(.*)$", " target":" $ 1", " destination":" srv-binding" }, { " source":" ^(。*)$", " target":" $ 1", " destination":" srv-binding", "范围": [ " $ XSAPPNAME.developer" ] } ] }approuters的package.json
{ " name":" plt-app-approuter", "依赖关系":{ " @ sap/approuter":" ^ 7.1.2", " @ sap/xsenv":" ^ 2.2.0", " @ sap/xssec":" ^ 2.2.5" }, "脚本":{ " start":"节点-检查node_modules/@sap/approuter/approuter.js" }
xs-security.json
{ " xsappname":" plt-app",-应该指向approuter名称'plt-app-approuter'吗? " tenant-mode":"专用",-它描述JWT令牌如何转发吗? "范围":[ { " name":" $ XSAPPNAME.developer", " description":"开发人员" } ], "属性":[], "角色模板":[ { " name":" plt_app_dev", " description":"生成", "范围参考":[ " $ XSAPPNAME.developer" ], "属性引用":[] } ], "角色集合": [ { " name":" plt_app", "角色模板参考":[ " $ XSAPPNAME.plt_app_dev" ] } ] }
mta.yaml
##基于模板版本0.2.0生成的mta.yaml ## appName = plt-app ## language = nodejs; multiTenant = false ## approuter = _schema-version:'3.1' ID:plt-app 版本:1.0.5 描述:"一个简单的CAP项目。" 参数: 启用并行部署:true 构建参数: 之前: -建设者:自定义 命令: -npm安装 -npx cds构建 模块: #---------------------服务器模块------------------------ -名称:plt-app-srv #------------------------------------------------- ----------- 类型:nodejs 路径:srv 特性: 退出:1#由deploy.js任务终止 要求: #从CAP配置中提取的资源 -名称:plt-hdi-container -名称:plt-app-uaa 提供: -名称:CAP服务使用者(例如approuter)所需的srv-binding# 特性: srv-url:$ {default-url} #-------------------- SIDECAR模块------------------------ -名称:plt-app-db #------------------------------------------------- ----------- 类型:hdb 路径:db 参数: 应用名称:plt-app-db 要求: #从CAP配置中提取的'hana'和'xsuaa'资源 -名称:plt-hdi-container -名称:plt-app-uaa ################################################ ########## ############## APP ######################## -名称:plt-app-approuter 类型:approuter.nodejs 路径:应用 参数: 记忆体:256M 构建参数: 要求: -名称:plt-app-srv 要求: -名称:plt-app-uaa -名称:srv-binding 组:目的地 特性: forwardAuthToken:true 名称:srv-binding 网址:〜{srv-url} 资源: #从CAP配置中提取的服务 #'service-plan'可以通过'cds.requires。.vcap.plan'进行配置 #------------------------------------------------- ----------- -名称:plt-hdi-container #------------------------------------------------- ----------- 类型:com.sap.xs.hdi-container #Beschreibt HANA DB 参数: 服务:在试用环境中使用" hannatrial"或" hanatrial" 服务计划:hdi共享 特性: hdi-service-name:$ {service-name} #------------------------------------------------- ----------- -名称:plt-app-uaa 类型:org.cloudfoundry.managed-service 参数: ##### xs-security.json的路径以添加角色和作用域#### 路径:./gen/xs-security.json 服务:xsuaa 服务计划:应用 配置: xsappname:plt-app-$ {space}-比xs-security.json中的xsappname优先吗? 租户模式:专用
我刚刚尝试使用略有不同的mta.yaml进行部署。 更具体地说,我尝试在plt-app-uaa服务上不使用配置进行部署(并且在根目录中使用xs-security.json进行部署)。在部署过程中发生了以下错误消息:
服务操作失败:控制器操作失败:502更新服务" plt-app-uaa"失败:错误的网关:服务代理错误:服务代理xsuaa失败,原因:org.springframework.cloud.service.broker.exception.ServiceBrokerException :更新应用程序plt-app!t47559时出错(无法通过更新更改AppId。)
mta.yaml的更新部分
一周热门 更多>