写点什么

ABAP Netweaver, Hybris Commerce 和 SAP 云平台的登录认证

用户头像
Jerry Wang
关注
发布于: 2021 年 05 月 24 日
ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证

ABAP Netweaver

在事务码 SICF 里选择一个服务,在明细页面对 Procedure 字段点击 F1,查看 Logon Procedure 的帮助文档。



通过这个链接打开对应的帮助文档,可以看到下列七种登录手段。



在我的 SAP Community 博客里有更详细的介绍:Learn more detail about Standard logon procedure

Hybris Commerce

在 Hybris Administration Console 里,输入用户名和密码,点击 LOGIN 后:



在 Chrome 开发者工具里观察到一个 post 请求: j_spring_security_check



这个请求定义在一个 form action 里,还有两个字段用于存储用户输入的用户名和密码:



在 Tomcat 的日志文件里也能观察到这个 post 请求:



在 hac 目录的 config 文件夹下有一个配置文件 spring-security-config.xml:




里面定义了用这个 bean,coreAuthenticationProvider 来做认证:



SAP 云平台 CloudFoundry 环境


在 SAP 云平台的 CloudFoundry 环境里,Application Router 作为所有应用访问的入口。


上图 1~8 的图例描述了部署在 SAP 云平台 CloudFoundry 环境上的 Web 应用是如何通过 Cloud Connector 访问 On-Premise 系统上的服务。


  1. App Router 作为用户访问的入口。

  2. 用户访问请求被重定向到 XSUAA。XSUAA 要求用户登录。用户完成登录操作后,一个 JSON Web Token(简称为 JWT1)被创建,发送给 App Router,并缓存于 App Router 内。

  3. App Router 将请求和步骤 2 生成的 JSON Web Token 一起转发给 Web 应用。4a. Web 应用再次向 XSUAA 请求一个 JSON Web Token(JWT2), 用于访问 destination 实例。4b. Web 应用并行地向 XSUAA 请求第三个 JSON Web Token(JWT3),用于 connectivity 实例的访问。

  4. Web 应用使用 JWT2 获取 destination 配置。

  5. Web 将请求和 JWT3 转发给 connectivity 实例。

  6. SAP Cloud Platform Connectivity 将请求通过 Secure tunnel 转发给 Cloud Connector。

  7. Cloud Connector 将请求发给 On-Premise system。


App Router 怎么知道需要把请求转发给具体哪一个 XSUAA 实例呢?在 App Router 的 manifest.yml 里配置



需要在 SAP 云平台 CloudFoundry 环境的 space 里配置同名的实例:




App Router 更多详细介绍,请参考李贝宁的公众号文章SAP成都研究院李三郎:SCP Application Router简介.


要获取更多 Jerry 的原创技术文章,请关注公众号"汪子熙":



发布于: 2021 年 05 月 24 日阅读数: 6
用户头像

Jerry Wang

关注

个人微信公众号:汪子熙 2017.12.03 加入

SAP成都研究院开发专家,SAP社区导师,SAP中国技术大使。

评论

发布
暂无评论
ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证