簡體   English   中英

如何在Webforms中使用SAML SSO

[英]How to use saml sso with webforms

我有一個網站Webforms,我需要集成saml sso身份驗證。 我花了很長時間搜索任何信息,但是其中有太多不同的內容,以至於我無法正確識別出正確的方法。

我可以說的是,我有一個federationMetadata xml文件,我問我是否擁有它所需的所有信息,或者是否需要更多信息來實現sso身份驗證。

我了解的是:

我必須發布帶有一些參數的斷言請求。 我不理解某些參數,並嘗試將其找到到federationmetadata.xml文件中。 像發行人一樣? 如何使用登錄密鑰? 使用加密? 我必須開發一個IDP和wich工具,我必須使用(例如sustainsys)我完全迷失了

謝謝您的幫助。

SAML元數據應包括您需要服務提供商提供的所有配置信息。 同樣,您的身份提供者元數據應該是服務提供者所需的所有配置信息。

SAML消息中的頒發者字段對應於元數據中的實體ID。

我建議您查看可用的開源和商業產品,而不要開發自己的身份提供者。

您的問題有點模糊,但我想幫助您澄清一些事情。 您現在可能已經取得了進展。

首先,您正在使用WIF,並且至少需要安裝WIF運行時。 它隨WIF SDK一起提供。 您將使用FedUtil工具

您需要元數據文件作為文件或URL,可用於配置您的配置。 有兩個元數據實例。

  1. 描述身份驗證/登錄發生位置的元數據。 這就是FedUtil工具將檢查的內容,並將使用它來了解可用的聲明(聲​​明是成功登錄后可用於Web應用程序的各種用戶信息)。

  2. 由FedUtil工具生成的元數據,它在您的身邊描述了Web應用程序,因此可以配置身份驗證。

請注意,此元數據交換是作為部署的一部分預先進行的,並且證書到期時必須進行更新。

FedUtil工具配置了web.config文件,以便處理對整個站點的訪問,因此您必須先成功進行身份驗證,然后才能訪問該站點。 如果您使用的是標准的asp.net身份資料,則可以訪問登錄用戶的詳細信息,否則可以直接訪問聲明。

您不需要自己做任何斷言。 這就是我們確定誰登錄所需的一切:(請注意,“用戶代碼”是提供給我們的聲明)。

(System.Security.Claims.ClaimsPrincipal)System.Threading.Thread.CurrentPrincipal).Claims.Where(x => x.Type == "usercode").Select(x => x.Value).FirstOrDefault();

還要注意,web.config中的聲明列表對系統沒有任何影響,它只是作為參考,供我認為fedutil工具可以再次使用。

希望這會有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM