繁体   English   中英

发送HTTP POST请求

[英]Sending a HTTP POST request

为了实现单点注销,我希望用户在用户单击应用程序A上的注销时另外从应用程序B中注销。是否可以使用对应用程序B的某种形式的POST请求来实现此目的? 即,当用户单击注销时:

  1. 生成现有的POST请求以注销应用程序A
  2. 生成其他POST请求以注销应用程序B。

执行此操作的最干净的方法是检查您的SSO提供程序是否具有单点签名功能。

编写并部署它会使您的整体IT解决方案有些脆弱。

另一个建议是与您的(企业)架构师一起解决这个问题,因为SSO通常是一项企业计划,并在这篇文章中指出(非常有力的)论点: http : //lists.danga.com/pipermail/yadis/2005-July /001085.html

是的,如何执行取决于您使用的编程语言。

例如,在ASP.Net下,您将在处理应用程序A的注销事件时使用System.Net.HttpWebRequest来向应用程序B发出注销请求

如果您可以张贴您使用的语言,我可以举一个适当的例子

根据身份验证系统的实现,您可能/需要使用JavaScript而不是从服务器端发送POST。

没有特定的信息,很难给出特定的答案,但是当您指的是POST时,我将假定涉及浏览器。

提交表单时会发生POST(不使用Javascript或类似方法)。 由于该表单只能执行一个操作,因此只能定位到一个服务器端页面。

一种解决方案是,一旦收到一项操作,就简单地将应用程序A的前向注销凭证提供给应用程序B,这将提供更多检查退货的机会。

但是,如果您将POST设置为其他页面,请参阅本教程以了解一种与iframe相关的黑客-http: //www.codeproject.com/KB/scripting/multiact.aspx

如果您的登录会话是由Cookie存储的,那么您无需提供其他任何信息即可注销应用程序B,因此在javascript中清除Cookie通常会破坏会话并将用户注销。

如何使其成为基于Cookie的身份验证? 相同的cookie可以验证用户使用的各种应用程序(在您的情况下为2个不同的应用程序)。一旦用户从一个应用程序(应用程序A)注销,就使cookie失效(按有效期),以便每当用户发送POST请求来休息时应用程序(应用程序B)的请求未处理。 每个应用程序都需要一个Servlet来跟踪每个POST请求以验证cookie。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM