1. 程式人生 > >ABAP Netweaver, Hybris Commerce和SAP 雲平臺的登錄認證

ABAP Netweaver, Hybris Commerce和SAP 雲平臺的登錄認證

abap netweaver hybris logon cloud-foundry

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的原創技術文章,請關註公眾號"汪子熙"或者掃描下面二維碼:

技術分享圖片

技術分享圖片

ABAP Netweaver, Hybris Commerce和SAP 雲平臺的登錄認證