使用 run-as 标识将应用程序连接到缺省消息传递提供程序
2009-09-29 00:00:00 来源:WEB开发网对消息传递提供程序进行身份验证
通常,JMS 应用程序使用静态配置的映射标识进行身份验证。此标识可以使用连接工厂上的身份验证别名或资源引用上的身份验证别名进行配置。这些是 IBM® WebSphere® Application Server 提供的现成机制。
经常有人问我该如何使用应用程序标识来对到服务集成总线的 JMS 连接进行身份验证。问我这个问题的人通常出于两个原因这样做:
他们认为这是对总线进行身份验证应有的工作方式。
他们需要这种功能。
出于第一个原因而提出这样问题的人可能认为最明显的就是最简单的,而不用考虑其安全影响。出于第二个原因提出这个问题的人可能根据其应用程序需求进行了分析,通常考虑了使用应用程序标识的安全影响。
根据原因不同,我所给出的答案也不同;不过,经常给出的答案是一样的——但这仅仅是因为经常很难判断到底是出于何种原因提出这个问题。如果您是出于第一种原因,则应该使用应用程序标识,这个方法简单而直接。但这存在缺点,只有在理解其涉及的风险后才应该算是全面考虑了此方法。当然,做到了这一步之后,就归入第二类情况了。
本文将说明使用应用程序标识所涉及的安全风险,从而帮助您确定是否需要此功能,或者是否真的应该部署此功能。对于希望继续的情况,本文剩下的部分将说明如何为服务集成总线实现此功能。
什么是应用程序标识?
为 Java EE 应用程序启用了安全性后,应用程序将使用标识进行执行。安全 Web 应用程序通常使用通过应用程序身份验证的用户的标识执行。另一方面,企业 Bean(或 Web 服务)应用程序可以使用调用方的标识(与 Web 应用程序的运行方式类似)或特定标识(称为 run-as 标识)执行。后者是通过为 Enterprise JavaBean 设置 run-as 角色实现的;运行线程的标识将被称为应用程序标识。
赞助商链接