惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - Franky
N
Netflix TechBlog - Medium
Google Online Security Blog
Google Online Security Blog
月光博客
月光博客
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
V
V2EX
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
博客园 - 聂微东
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
M
MIT News - Artificial intelligence
Vercel News
Vercel News
The GitHub Blog
The GitHub Blog
Hugging Face - Blog
Hugging Face - Blog
博客园 - 【当耐特】
Apple Machine Learning Research
Apple Machine Learning Research
aimingoo的专栏
aimingoo的专栏
博客园 - 三生石上(FineUI控件)
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
MongoDB | Blog
MongoDB | Blog
H
Help Net Security
The Cloudflare Blog
Blog — PlanetScale
Blog — PlanetScale
F
Full Disclosure
G
Google Developers Blog
罗磊的独立博客
Jina AI
Jina AI
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Y
Y Combinator Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
J
Java Code Geeks
A
About on SuperTechFans
IT之家
IT之家
大猫的无限游戏
大猫的无限游戏
S
SegmentFault 最新的问题
有赞技术团队
有赞技术团队
GbyAI
GbyAI
雷峰网
雷峰网
T
The Blog of Author Tim Ferriss
The Register - Security
The Register - Security
U
Unit 42
D
Docker
Martin Fowler
Martin Fowler
L
LINUX DO - 热门话题
NISL@THU
NISL@THU
阮一峰的网络日志
阮一峰的网络日志
C
Cybersecurity and Infrastructure Security Agency CISA
博客园_首页
Google DeepMind News
Google DeepMind News

博客园 - chnking

Biztalk AS2开发经验总结 BizTalk发布WS-Security的web services BizTalk调用WS-Security的web services biztalk大规模高性能高可用部署方案 Biztalk 2009在Windows 2008 R2环境中的High Availability(Cluster群集)部署(下)--AA模式 Biztalk 2009在Windows 2008 R2环境中的High Availability(Cluster群集)部署(上)--AP模式 biztalk中使用biztalk adapter Pack适配器之一 – WCF-SQL WCF系列_分布式事务(下) WCF系列_分布式事务(上) Biztalk中Host Instance线程控制 biztalk在用户代码中构造多部分消息 使用biztalk API新建Receive Location 主流SOA厂商和相关产品 WCF系列(九) - WCF安全系列(四) - WSHttpBinding绑定之Transport安全模式 WCF系列(八) - WCF安全系列(三) - netTCPBinding绑定之Message安全模式 WCF系列(七) - WCF安全系列(二) - netTCPBinding绑定之Transport安全模式 - chnking WCF系列(六) - WCF安全系列(一) - basicHttpBinding 深入biztalk的Sequential Convoys保护 IIS客户端证书访问配置
BizTalk中利用ESSO保存外部系统用户凭据
chnking · 2013-03-12 · via 博客园 - chnking

一、 问题提出

在BizTalk应用集成项目中,BizTalk集成了多个应用系统,在BizTalk应用里很可能会出现有多个(甚至很多)端口指向同一个应用(这个应用可能是SAP系统,也可能是一个SQL Server的数据库),类似这样:

clip_image002[4]

在每个端口的设置中都需要设置用户凭据,如果是SQL Server的话,就是SQL的用户名和密码:

clip_image004[4]

一般使用中都是对每个端口分别就行设置,分别设置每个端口的用户凭据,输入用户名和密码。

如果端口不多的情况下,这么做也很正常,但是如果针对某一个系统的端口比较的的时候,比如连接到外部一个SQL Server数据库的端口有几十个,那么每个端口都需要输入一遍同样的用户名密码将是很麻烦的事情。

二、 解决方案

针对这样的情况,有个很好的解决方案。BizTalk本来就依赖也ESSO(Enterprise Single sign-on)服务,用来保存物理端口的配置参数,而ESSO具有用户映射的功能,即把Windows的用户映射为外部用户。

每个BizTalk的物理端口都会运行在某个BizTalk的主机实例下,而每个BizTalk的主机实例都是一个Windows服务,由一个Windows账户启动。所以我们只需要把运行这些端口主机实例的那个Windows账号统一映射为某一个账户就可以实现统一设置了。

下面是具体步骤:

1、 建立SSO关联应用

在ESSO中建立关联应用,针对需要映射用户的外部系统在SSO中建立关联应用,比如BizTalk需要跟外部一个TestApp的应用连接,并且有很多端口指向这个系统,而这个系统暴露给BizTalk的是个Sql server数据库。

打开SSO Administration,新建一个关联应用:

clip_image006[4]

创建一个叫TestApp的关联应用,一路默认设置:

clip_image008[4]

clip_image010[4]

clip_image012[4]

clip_image014[4]

2、 新建用户映射

在新建的关联应用中,新建一个用户映射:

clip_image016[4]

选择需要映射的Windows账户,这个账户是运行这个应用对应那些端口的BizTalk主机实例的那个Windows账户,必须是域账户。外部用户就是TestApp的Sql server数据库给BizTalk系统提供的访问数据的用户:

clip_image018[4]

为数据库用户设置密码:

clip_image020[4]

用户映射建立后:

clip_image022[4]

可以看出,在TestApp应用中,sql2008这个域用户映射到外部SQL数据库的gkj这个用户,用户的密码也保存在ESSO数据库中。

3、 端口中设置

先查看主机实例,BizTalkServerApplication主机实例的启动用户为cmict\sql2008,即为前面ESSO中设置的用户映射的那个Windows域用户。

clip_image024[4]

再看一个连接TestApp的sql端口的设置,注意主机实例为BizTalkServerApplication,说明此端口对应的Windows的用户就是cmict\sql2008:

clip_image026[4]

端口配置,在WCF-SQL端口的属性中,凭据标签,选择“使用单一登录”,关联应用选择TestApp即可:

clip_image028[4]

在TestApp已经设置cmict\sql2008映射到外部用户gkj,并保存了密码,所以BizTalk根据这里的设置会到ESSO数据库中查到gkj用户和密码,作为用户凭据访问外部数据库。

所有连接TestApp应用数据库的端口,用户凭据的设置都可以选择使用ESSO凭据,指向TestApp即可,无需给每个连接TestApp应用数据库的端口分别设置用户名和密码。