XSA Fiori启动板不显示应用程序磁贴-xsuaa问题

2020-08-18 15:30发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)专家们, 我无法将...

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

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


专家们,

我无法将应用程序磁贴公开给XSA中的XSA Fiori启动板。 fiori启动板和应用程序都是单独的应用程序MTA。

该应用程序已经配置了site-content.json,因此Fiori可以以图块格式显示该应用程序。 当应用程序中提供的角色是"每个人"时,所有这些都有效。 但是,当更改为特定角色时,磁贴会丢失,并且我怀疑其角色访问权限没有从用户访问权限正确传递给应用程序。 我尝试了各种尝试和错误方法生成和重新部署,但仍然遇到问题。

希望任何人都可以提供帮助。 以下是详细信息,可以提供更多信息。

系统:前提SP04上的HANA XSA

1。 以下是模板中使用的xs-security.json

 {
 " xsappname":" dcmhub_td1",
 "范围":[{
 " name":" $ XSAPPNAME.Display",
 " description":"显示"
 },{
 " name":" $ XSAPPNAME.Create",
 " description":"创建"
 },{
 " name":" $ XSAPPNAME.Edit",
 " description":"编辑"
 },{
 " name":" $ XSAPPNAME.Delete",
 " description":"删除"
 },{
 " name":" $ XSAPPNAME.DataGenerator",
 " description":"数据生成器"
 },{
 " name":" xs_authorization.read",
 " description":"从UAA读取授权信息"
 },{
 " name":" xs_authorization.write",
 " description":"将授权信息写入UAA"
 },{
 " name":" $ XSAPPNAME.ODATASERVICEUSER",
 " description":"输入"
 },{
 " name":" $ XSAPPNAME.ODATASERVICEADMIN",
 " description":"输入"
 }],
 "角色模板":[{
 " name":" DecHubViewer",
 " description":"查看停用中心数据",
 "范围参考":[
 " $ XSAPPNAME.Display",
 " $ XSAPPNAME.Create",
 " $ XSAPPNAME.Edit",
 " $ XSAPPNAME.Delete",
 " $ XSAPPNAME.DataGenerator",
 " xs_authorization.read",
 " xs_authorization.write",
 " $ XSAPPNAME.ODATASERVICEUSER",
 " $ XSAPPNAME.ODATASERVICEADMIN"]
 }]
 } 

2。以下是site-content.json。 我提出了两个重要的变化点。 角色和授权范围。

"角色":{
 " DecHubViewer":{
 " _version":" 1.0",
 "标识":{
 " id":" DecHubViewer",
 " namespace":"",
 " entityType":"角色"
 },
 "有效载荷":{
 "目录":[],
 "组":[{
 " id":" tool_GroupId"
 }]
 }
 }
 ........

 },
 " sap.platform.runtime":{
 " componentProperties":{
 " url":"/",
 " oAuthScopes":[" $ XSAPPNAME.Display"]
 }
 }
 }
 

3。 xs-app.json。 我也尝试在该路由上添加和删除授权范围。

 {
 " welcomeFile":" index.html",
 " authenticationMethod":"路由",
 "路线":[{
 " source":"(。*)(。xsjs)",
 " destination":" xsjs_api",
 " csrfProtection":否,
 " authenticationType":" xsuaa"


 },{
 " source":"(。*)(。xsodata)",
 " destination":" xsjs_api",
 " authenticationType":" xsuaa"
 },{
 " source":" ^/(。*)$",
 " localDir":"资源/工具"


 }]
 }
 

4.

mtayaml.txt -附件为mta.yaml

5。 以下是添加到清单的授权范围。

},
   " sap.platform.cf":{
       " uri":"/资源/工具",
       " oAuthScopes":[" $ XSAPPNAME.Display"]
 }
 }
 

6。 以上都是在应用程序上完成的。 我已经多次部署了各种更改。 手动创建uaa服务会导致部署失败。 我删除了uaa实例并重新部署,它通常是成功的。

7。 部署后,将分配角色,以下是角色设置。 角色集合已经具有从模板创建的相关角色。

(19.7 kB)
2条回答
me_for_i
2020-08-18 16:18

嗨布拉德利,

感谢您的指导和解释。 你真厉害 我已经在您的帮助下解决了fiori启动板的问题。 一周多前,我向SAP提出了相同的问题,但他们仍然没有回复我。 该解决方案现在可以按预期工作,并且我可以通过角色管理控制磁贴显示。 从我的发现中得到一些确认。

跨MTA解决方案需要外部作用域引用。 我尝试了一下,但没有成功。 根据我的有限理解,启动板具有其自己的UAA实例,并在我们登录时生成安全令牌,而应用程序图块具有其他UAA实例。 外部作用域授予将使fiori launchpad uaa可以访问它试图显示和启动的应用程序的相同作用域。

再次感谢您。

Anand

一周热门 更多>