WEB开发网
开发学院软件开发Java 使用 run-as 标识将应用程序连接到缺省消息传递提... 阅读

使用 run-as 标识将应用程序连接到缺省消息传递提供程序

 2009-09-29 00:00:00 来源:WEB开发网   
核心提示: 开始实现前的考虑事项通常,您应该限制用于发送或接收消息的标识的数量,使用 run-as 标识将应用程序连接到缺省消息传递提供程序(2),当然不应该为通过应用程序身份验证的用户提供此权限,否则他们就能够直接将消息放到队列中来绕开应用程序的业务逻辑,在本例中,容器必须提供凭据,为了有相应的上下文,假

开始实现前的考虑事项

通常,您应该限制用于发送或接收消息的标识的数量。当然不应该为通过应用程序身份验证的用户提供此权限,否则他们就能够直接将消息放到队列中来绕开应用程序的业务逻辑。

为了有相应的上下文,假定我们有一个基于 Internet 的网上商店。有人购买了东西时,Web 应用程序将发送两条消息,一条处理支付,另一条告知仓库配送物品。(此示例针对本文进行了简化。)如果 Web 应用程序的用户能够向仓库队列发送消息,则该用户可以直接通过发送一条新消息,从而在不用支付的情况下就让仓库配送货物。或者,如果用户能够从支付队列接收消息,则该用户可以删除导致处理支付的消息。

因此,不应该使用这些技术来直接将最终用户标识投影到队列。相反,可以使用其投影其他反映系统标识的标识,而不要对人类最终用户的标识进行投影。因此,如果您的应用程序仅仅供其他系统调用,则对调用方的 Java EE 标识进行投影的方式可能非常正确,而使用此技术将 Web 用户的标识发送到队列则可能不太好。

关于解决方案

解决方案依赖于应用服务器的多个不同的功能:

Java Connector Architecture (JCA):缺省消息传递提供程序通过使用 JCA 资源适配器插入应用服务器运行时。JCA 定义了相关机制,供容器用于向资源适配器提供将用于连接上的凭据。

资源引用:应该始终使用资源引用查找 JMS 连接工厂。进行此工作的应用程序包含以“java:comp/env/”开头的查询字符串。资源引用具有多个属性,其中一个是关于容器或应用程序是否应提供凭据。在本例中,容器必须提供凭据。

Java Authentication and Authorization Service (JAAS):WebSphere Application Server 使用 JAAS 应用程序登录配置来准备在创建连接时将凭据传递给资源适配器。

上一页  1 2 3 4 5 6 7  下一页

Tags:使用 run as

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接