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

ABAP Netweaver

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

ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第1张图片

通过这个 链接打开对应的帮助文档,可以看到下列七种登录手段。
ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第2张图片

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

Hybris Commerce

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


ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第3张图片

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


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


ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第4张图片

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


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


ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第5张图片

ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第6张图片

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


ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第7张图片

ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第8张图片

SAP云平台CloudFoundry环境

ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第9张图片

在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里配置

ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第10张图片

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


ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第11张图片
ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证_第12张图片

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

要获取更多Jerry的原创技术文章,请关注公众号"汪子熙"或者扫描下面二维码:

你可能感兴趣的:(ABAP Netweaver, Hybris Commerce和SAP 云平台的登录认证)