实用云,提供最全最实时的云市场资讯

手机站:/m

中间件_消息队列的实现_三重好礼

时间:2021-09-08 11:07编辑:实用云来源:实用云当前位置:主页 > 大数据 >

基于令牌的身份验证在当今网络上随处可见。大多数网络公司都使用API,爱回扣返现网,令牌是处理多个用户身份验证的最佳方式。

在本博客中,我想分享一个简单通用的适配器模块实现,介绍如何获取这样的令牌,并将其存储在动态配置中以供进一步使用。

此外,还有一个选项可以缓存令牌以供后续调用。如果您有大量请求,并且希望节省一些通信量,农业物联网,或者如果每小时/天可获得的令牌(登录)数量有限,则此功能非常有用。

我们在几个REST和SOAP场景中使用此模块来请求HTTP请求的HTTP头中所需的身份验证令牌。缓存功能允许在多个XI消息中重用一个令牌,因此在指定的时间范围内只进行一次登录。

在我们所有的场景中,我们必须在请求的HTTP报头中放置一个Auth令牌。HTTP头修改可以在HTTP\ U AAE、REST和SOAP(AXIS)适配器中进行。在每个适配器中,您都可以访问动态配置中的值并将其放入HTTP头中。(示例如下)

Vadim Klimov在他非常好的博客文章"使用PI/PO的高级适配器引擎中的自定义适配器模块设置动态配置属性"中描述了如何修改XIMessage的动态配置,提供的访问动态配置的类可以扩展,这就是我们要做的在这里。因此,在继续阅读之前,最好先阅读Vadims post。

下图突出显示了添加到项目中的所有类。

DynamicConfigurationProviderHttpLookup:实现DynamicConfigurationProvider并包含主逻辑。以下摘录显示了背后的想法:如果(已启用存储){[...]参数值=keyValueStore.get获取(存储密钥);[...]}if(parameterValue==null){[...]HttpRequest request=新的HttpRequest(参数);HttpResponse响应=HttpClient.doRequest请求(请求,参数);参数值=响应.getResponse(参数);[...]如果(已启用存储){[...]keyValueStore.add(存储键,移动大数据,参数值,存储过期时间);[...]}}[...]dynamicConfiguration属性dcAttribute=新的dynamicConfiguration属性(parameterNamespace,parameterName、parameterValue);如果(dcAttribute.isDynamicConfigurationAttributeComplete属性()) {dcAttributes.add属性(属性);}[...]KeyValueStore:MessageIDMapper类的包装器类。提供add、get和remove方法。MessageIDMapper用于将PI表中的数据持久化一段指定的时间。如果要查看原始数据,低价的云服务器,请打开SQL浏览器并转到表SAPJ2EE.XI\ AF\ SVC\ ID\地图.…实用程序.http包:包含HTTP请求的帮助程序类。

模块处理顺序

编号:模块名称:Custom\u AF\u Modules/AddDynamicConfigurationBean类型:本地企业Bean模块密钥:(例如dclookup)

模块配置

(*强制)

一旦收到令牌,物联网的应用有哪些,就可以在任何可以访问动态配置的地方使用。以下示例显示如何在请求的HTTP头中添加Auth令牌。

在选项卡"高级"中检查"设置适配器特定的消息属性"和"HTTP头字段"e、 g.在字段1中(headerFieldDone):模块配置中的AuthKey

(Custom\u AF\u Modules/AddDynamicConfigurationBean)dc.attribute.name=headerfielddone(…HeaderFieldSix)dc.attribute.namespace名称空间= HTTP//SAP/COM/XI/XI/St/HtppAAE…

看看XI30DynamicConfigurationHandler,它用于访问SOAP适配器中的动态配置。注:"1039369–FAQ XI Axis Adapter"也显示了一些示例(搜索ASMA)

在选项卡"REST URL"中使用模式变量替换值源:适配器特定键模式元素名称:AuthKey适配器特定属性:CustomAttribute属性名:AuthKey

在"HTTP头"页签中新增一行:标题名称:例如授权值模式:{AuthKey}

在Modul配置中(Custom\u AF\u Modules/AddDynamicConfigurationBean)dc.attribute.name=身份验证密钥dc.attribute.namespace名称空间= HTTP//SAP/COM/XI/XI/Stase/REST…

您可以在我的Vadim Git存储库叉中找到源代码:

https://github.com/MartinBuselmeier/sap-xpi-adapter-module-add-dynamic-configuration

等等!一个通用模块,用于请求带有缓存选项的令牌。

如您所见,有很多参数需要填充。有时,创建一个更具体的实现来适应一个特殊的软件是有意义的。这使得PI管理员更容易在通道中维护模块配置。以下代码是从DynamicConfigurationProviderDemoSoftware类中提取的。

它显示了如何扩展DynamicConfigurationProviderHttpLookup类,并通过保留在需要时覆盖它们的可能性来设置模块属性未指定的其他属性。

下一张图片显示了模块的模块配置DynamicConfiguration ProviderDemoSoftware类。

上一篇天翼云_下载我的世界服务器_促销

下一篇香港带宽_cdn资源跨域_优惠

世界之最排行

世界之最精选