UI5应用程序和App Router退出并再次登录的问题

2020-08-22 09:28发布

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

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

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


专家您好,

我们在SAP Cloud Platform Cloud Foundry上部署了三个应用程序。 应用路由器,UI应用程序(UI5)和服务应用程序(JAVA)。

下面是简单的应用程序体系结构。

复制步骤:

1。 用户通过App路由器登录到应用程序。 UI5应用程序的主页显示成功。 来自后端Java应用程序的所有数据均已成功检索。 我们还可以在App路由器中获取登录用户信息。

https://***-approuter -***。cfapps.eu10.hana.ondemand.com/

2。 点击注销按钮以退出

3。 使用应用路由器URL再次登录

https://***-approuter -***。cfapps.eu10.hana.ondemand.com/

问题是我们可以打开应用程序主页,而无需再次登录。 但是没有登录用户信息。 如果刷新页面,用户将被重定向到XSUAA服务的登录页面。

如果通过以下URL直接访问Java应用程序的服务URL,我将被重定向到登录页面。

https://***-approuter-***。 cfapps.eu10.hana.ondemand.com/backend/hello

我认为问题是UI5应用程序的缓存。 但是我不知道如何解决它。 你能给些建议吗?

应用路由器的xs-app.json配置

 {
 " welcomeFile":" frontend/",
 "登出": {
 " logoutEndpoint":"/img/logout",
 " logoutPage":"/logout.html"
  },
 " authenticationMethod":"路由",
 "路线":[
  {
 " source":" ^/backend/(.*)$",
 " target":" $ 1",
 "目的地":"服务",
 " authenticationType":" xsuaa"
  },
  {
 " source":" ^/logout.html $",
 " localDir":"资源",
 " authenticationType":"无",
 " cacheControl":"无缓存"
  },
  {
 " source":" ^/frontend/(.*)$",
 " target":" $ 1",
 "目标":"前端",
 " authenticationType":" xsuaa",
 " cacheControl":"无缓存"
  }
  ]
 }
 

(9.1 kB)
7条回答
暮风yp
2020-08-22 09:58

非常感谢您调查此问题。

我发现这里有两种情况。

1。 索引页或主页位于应用路由器的文件夹中(不是我的情况)

它适用于以下设置。

" cacheControl":"无缓存" 

xs-app.json的整个配置

 {
 " welcomeFile":"/index.html",//index.html
 "登出": {
 " logoutEndpoint":"/img/do/logout",
 " logoutPage":"/logout.html"
  },
 " authenticationMethod":"路由",
 "路线":[
  {
 " source":" ^/backend/(.*)$",
 " target":" $ 1",
 "目的地":"服务",
 " authenticationType":" xsuaa"
  },
  {
 " source":" ^/logout.html $",
 " localDir":"资源",
 " authenticationType":"无",
 " cacheControl":"无缓存",
 " csrfProtection":false
  },
  {
 " source":" ^/frontend/(.*)$",
 " target":" $ 1",
 "目标":"前端",
 " authenticationType":" xsuaa",
 " cacheControl":"无缓存"
  },
  {
 " source":" ^/index.html $",
 " localDir":"资源",//应用路由器的本地目录
 " authenticationType":" xsuaa",
 " cacheControl":"无缓存"
  }
  ]
 }
 

2。 主页位于前端应用程序中(我的情况)

它不适用于设置。

" cacheControl":"无缓存" 

在这种情况下,欢迎文件是"/img/frontend/",它被映射到路由部分中的前端应用程序。 它将打开前端应用程序的主页。

 {
     " welcomeFile":"/img/frontend/",//前端网址
     "登出": {
         " logoutEndpoint":"/img/do/logout",
         " logoutPage":"/logout.html"
     },
     " authenticationMethod":"路由",
     "路线":[
         {
             " source":" ^/backend/(.*)$",
             " target":" $ 1",
             "目的地":"服务",
             " authenticationType":" xsuaa"
         },
         {
             " source":" ^/logout.html $",
             " localDir":"资源",
             " authenticationType":"无",
             " cacheControl":"无缓存",
             " csrfProtection":false
         },
         {
             " source":" ^/frontend/(.*)$",//定位到前端应用程序
             " target":" $ 1",
             "目标":"前端",
             " authenticationType":" xsuaa",
             " cacheControl":"无缓存"
         }
     ]
 } 

我们需要找到案例2的解决方案。

一周热门 更多>