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

网友投稿 647 2022-05-30

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系统上的服务。

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

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

App Router将请求和步骤2生成的JSON Web Token一起转发给Web应用。

4a. Web应用再次向XSUAA请求一个JSON Web Token(JWT2), 用于访问destination实例。

4b. Web应用并行地向XSUAA请求第三个JSON Web Token(JWT3),用于connectivity实例的访问。

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

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

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

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

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

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

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

Netweaver

Jerry的SAPGUI夹管理工具:链接

git

我笔记本上有很多github仓库,每次切换仓库,我不想敲很长的cd命令。比如现在我需要手敲下面的命令进入一个Java仓库:

cd c:\Users\i042416\git\JavaTwoPlusTwoEquals5

我想只敲四个字符:java 就达到同样效果。

解决方案

编辑用户目录下的文件.bash_profile:定义一些新的function,将冗长的cd命令加入function的实现。

效果:敲“java”,回车,即自动进入java仓库。

如何处理CloudFoundry应用部署时遇到的254错误

使用SAP云平台的CloudFoundry部署应用:

在cockpit遇到错误信息:instance: a0abe2b5-7623-4cf1-4c65-0c79, index: 0, exit_description: APP/PROC/WEB: Exited with status 254, reason: CRASHED

使用命令查看部署日志:

cf logs connectvity-demo-approuter --recent

2018-05-30T11:33:30.95+0800 [CELL/0] OUT Starting health monitoring of container

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! Linux 4.4.0-119-generic

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! argv “/home/vcap/deps/0/node/bin/node” “/home/vcap/deps/0/bin/npm” “start”

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! node v6.13.1

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! npm v3.10.10

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! path /home/vcap/app/package.json

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! code ENOENT

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

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! errno -2

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! syscall open

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! enoent ENOENT: no such file or directory, open ‘/home/vcap/app/package.json’

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! enoent ENOENT: no such file or directory, open ‘/home/vcap/app/package.json’

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! enoent This is most likely not a problem with npm itself

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! enoent and is related to npm not being able to find a file.

2018-05-30T11:33:31.68+0800 [APP/PROC/WEB/0] ERR npm ERR! enoent

2018-05-30T11:33:31.69+0800 [APP/PROC/WEB/0] ERR npm ERR! Please include the following file with any support request:

发现原因是build时找不到package.json. 但我确认我部署的zip文件里存在package.json

解决方案

使用CLI进行部署:

cf push -f ./approuter-manifest.yml

问题解决:

ABAP Git GitHub web前端

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:MySQL — 外键关联操作
下一篇:Java SAX解析XML
相关文章