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

举报
Jerry Wang 发表于 2021/10/24 22:29:05 2021/10/24
【摘要】 ABAP Netweaver在事务码SICF里选择一个服务,在明细页面对Procedure字段点击F1,查看Logon Procedure的帮助文档。通过这个链接打开对应的帮助文档,可以看到下列七种登录手段。在我的SAP Community博客里有更详细的介绍:Learn more detail about Standard logon procedure Hybris Commerce在...

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简介.

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
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
问题解决:

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。