我有一个托管在前端应用程序服务器上的Web应用程序。此前端应用程序通过JMS与后端域通信。当最终用户发出命令时,该命令将被发送到域。
后端服务器无法完全信任前端应用程序,因此身份验证和授权必须在域的消息传递端点上进行。例如:前端发送登录请求,域进行身份验证,发回一个会话ID,前端链接到自己的HTTP会话。对域的后续请求将包含会话ID。
使用JMS“隧道”用户会话的可行方法是什么?我不想控制对命令队列的访问,这是另一个问题。我不想使用重新验证每个请求的愚蠢方法。是否有适合此任务的既定框架,协议或模式?
答案 0 :(得分:0)
这对我来说就像一个单一的登录机制。 我可能用太简单的术语思考(然后请评论:))但是这个怎么样: 在您的前端对域进行身份验证并获取其会话ID之后,您将域发送到后端的相同会话ID(可以将其存储为经过身份验证的ID列表)。 现在,您只需将会话ID存储为有效负载消息的消息属性即可。一旦你的后端收到任何消息,它就会读取消息属性,根据已知的会话ID检查提供的会话ID并做出相应的反应。