2009-06-24 308 views
2

爲了實現單點登錄的時候,我想用戶得到登出應用B的還當過用戶點擊應用A.註銷是否有可能實現這個使用某種形式的POST請求到應用程序B?即,當用戶點擊註銷:發送HTTP POST請求

  1. 生成現有POST請求註銷應用程序的一個
  2. 產生額外的POST請求註銷應用程序B的爲好。
+0

你需要更清楚。即用哪種語言編程。 – Colin 2009-06-24 07:51:35

回答

0

是的,你是怎麼做到這取決於你所使用的編程語言。

例如ASP.Net下,你可以使用System.Net.HttpWebRequest應用A的退出事件的處理中做出註銷請求應用程序B

如果你可以發佈你是用什麼語言在我的工作可以給一個適當的例子

+0

它是一個J2EE應用程序。 Java語言 – Subramanian 2009-06-24 08:08:01

+0

通常一種語言我不工作或知道得很好,其他人將不得不產生一個示例 – RobV 2009-06-24 12:24:05

0

根據您的認證制度的實施,也許你可以/需要使用JavaScript,而不是從服務器端發送POST。

0

沒有具體的信息,很難給出一個明確的答案,但你指的帖子,我會認爲瀏覽器是參與。

提交表單時發生POST(未使用Javascript或類似內容)。由於表單只能有一個動作,因此它只能指向一個服務器端頁面。

一種解決方法是隻需應用正向註銷憑據應用B一旦收到一個動作,這使得更多的機會來檢查的回報。

但是,如果你在POST'ing設置爲不同的頁面,請參見本教程的一個IFRAME有關的黑客 - http://www.codeproject.com/KB/scripting/multiact.aspx

+0

當應用程序A將請求轉發給應用程序B時,我們是否會顯示應用程序B的註銷頁面?這意味着當用戶點擊註銷應用程序A時,我們會向他顯示應用程序B的註銷頁面。 – Subramanian 2009-06-24 08:11:57

1

做到這一點,最徹底的方法是檢查你的SSO提供有單一簽署功能。

編碼這件事並部署它會使你的整體IT解決方案有點脆。

另一個建議是爲SSO通常是指企業主動與你(企業)的建築師拿這件事,並指出她在這個崗位(非常有說服力)參數:http://lists.danga.com/pipermail/yadis/2005-July/001085.html

0

如果你的登錄會話被存儲cookie,並且除了需要提供用於註銷應用程序B的其他東西外,在javascript中清除cookie通常會破壞會話並將用戶簽出。

0

如何使它成爲基於cookie的身份驗證?同一個cookie爲各種應用程序驗證用戶身份(在您的案例中爲2個不同的應用程序)。一旦用戶從一個應用程序(應用程序A)註銷,會使Cookie失效(按截止日期),以便每當用戶發送POST請求以休息的應用程序(應用程序B)請求未被處理。每個應用程序都需要跟蹤每個POST請求以驗證Cookie的Servlet。