点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
嗨,团队
在3层CAP应用程序(app,srv,db)中实现授权时,在将UI层与Service层无缝集成时,我面临某些问题。 步骤如下:
- 创建了安全配置文件(xs-security.json):
{ " xsappname":" MYAPP", "租户模式":"专用", "范围":[ { " name":" $ XSAPPNAME.admin", " description":"管理员" } ], "属性":[], "角色模板":[ { " name":" admin", " description":"生成", "范围参考":[ " $ XSAPPNAME.admin" ], "属性引用":[] } ] }
2。 创建一个UAA实例并提供上述安全配置文件作为参数
3。 将UAA绑定到MTA中的服务和应用程序层
4。 在子帐户中创建了角色和角色集合,并将其分配给我的用户
5。 在app/ui层的xs-app.json文件中,提供以下路由,并将authenticationMethod设置为Route:
{ " source":" ^/(。*)$", " target":" $ 1", " destination":" srv_api", "范围": { " GET":[" $ XSAPPNAME.admin"] }, " authenticationType":" xsuaa", " csrfProtection":false }
6。 在我的服务层中,提供了cds服务,该服务需要前面步骤中指定的管理员授权:
service AdminService @(requires:'admin'){....}
7。 当我访问我的应用程序时,尽管该应用程序在您首次登录时成功验证了您的身份,但该服务调用会提示以下弹出窗口:
此外,尽管我使用SAP ID登录,但在服务层中,该用户仍显示为"匿名"。
我的问题是:
1。 如何防止上述弹出窗口并允许已登录的角色和作用域自动调用服务
2。 为什么用户在我的srv层中显示为"匿名"。 我是否应该指定UAA以外的其他连接来集成我的应用程序和srv层
请求您的输入,
感谢与问候,
Harish
(55.0 kB)
请尝试让我的 bookshop-demo 应用程序正常工作并将其应用于您的应用程序。
如果您将身份验证令牌转发到 srv 模块:
嗨,哈里斯,
除了 Sebastian Esch 的答案之外,还请检查您应用的身份验证设置。 开发和生产环境中的身份验证策略有不同的默认值(请参见 https://cap。 cloud.sap/docs/node.js/authentication )。 在WebIDE中运行意味着您处于开发环境中(如果您没有专门设置为生产环境)。
最佳,
塞巴斯蒂安
一周热门 更多>