2015-05-25 141 views
0

我們正在嘗試使用SAML 2.0在我們的客戶站點上使用ADFS實現單點登錄(sso)。我已成功設置ADFS並訪問時。 ./adfs/ls/idpinitiatedsignon.aspx頁面顯示「登錄到這個網站」單選按鈕,將其重定向到客戶現場,並要求輸入用戶名和密碼,一旦進入客戶網站的用戶名和密碼,然後將它帶回idpinitiatedsignon.aspx並說:「你在簽署」並顯示登出button.But我無法得到idpinitiatedsignon.aspx在用戶的詳細信息記錄的從HttpContext.Current.User因爲HttpContext.Current.User.Identity.IsAuthenticated是假的,但IsAuthenticated是真實的。那麼我如何獲取登錄的用戶信息呢?IsAuthenticated是true,但HttpContext.Current.User.Identity.IsAuthenticated是False

+0

可能這是對你有用http://stackoverflow.com/questions/13973756/httpcontext-current-user-identity-isauthenticated-returns-false –

+0

是域名一樣的,你是我們的網頁上已登錄? –

+0

你的問題不清楚。哪個是認證返回什麼?一個是指定的,另一個不是。你在哪裏做IsA證明的電話?在應用程序上或真正在IdPInitiatedSignon.aspx中的ADFS服務器站點上。你正在運行什麼版本的ADFS。該應用程序的框架的哪個版本?如果它真的在ADFS上,那麼我可以解釋它。 – paullem

回答

1

因爲當你調用FormsAuthentication.SetAuthCookie(txtUsername.Value,真);您將密鑰存儲在客戶端的Cookie上。爲此,您需要對用戶做出迴應。並且爲HttpContext.Current.User.Identity填充cookie,您還需要一個請求。

總之你的計劃是這樣的:

  • 客戶端發送他的用戶名和密碼。
  • 服務器獲取並檢查它。
  • 如果它們是有效的服務器發送的Set-Cookie頭到客戶端。
  • 客戶端接收並存儲它。對於每個請求客戶端將cookies發送回服務器。
相關問題