2016-09-26 29 views
0

真希望在我浪費太多時間之前,我可以通過此獲得一些指示。事實上,我甚至不知道我需要問這個問題。我正在處理一大堆技術,我很少知道這方面的經驗。從歷史上看,我一直是一個非常簡單的vb.net桌面開發人員,所以我正在學習MCV5 & C#。我意識到其中的一些可能是在錯誤的地方,但希望指標在租約具有內部部署ADFS身份驗證的MCV Web應用程序

所以情況是我被要求開發一個Web應用程序/ api由我的一些客戶,使他們的現場工作人員可以在離開辦公室時執行某些數據輸入功能並定期反饋到他們的管理系統。所有這些客戶都有非常接近相同的需求和管理系統,所以我的意圖是建立一個多租戶數據庫的Web應用程序,我控制誰可以看到基於他們的登錄名。 網絡應用程序,數據庫等的核心我已經得到了我的頭,事實上,這一切似乎都非常無縫。使用https://msdn.microsoft.com/en-us/library/aa479086.aspx作爲起點,我想我可以管理事物的數據庫端。

我真的在努力掙扎的是如何最好地保護這個系統。查看visual studio(2015)中提供的選項,我認爲對我來說最好的選擇是使用內部部署ADFS。我的老闆已經對Azure說了一些話,所以很遺憾,這不是一種選擇,我們幾乎擁有自己的服務器農場,而不僅僅是能夠託管這個服務器。 這裏真正的貼紙是我的SA幾乎說這不是他的問題,如果你想要ADFS和一個Web服務器,你可以把它整理出來。至少,他給了我一個不錯的新服務器虛擬機,但至少不需要更多的工作。

因此,對這些問題

  1. 是ADFS甚至需要在這種情況下,還是我更好地通過所有標準廣告或其他一些工具與此 應對?即使有可能,這是一個好主意嗎?
  2. 在開發/測試過程中,可以使用自簽名證書還是 我是否會遇到證書錯誤?
  3. 配置ADFS時,系統會要求您提供聯合服務名稱。在 senario上面,我用它來驗證一個網絡應用程序, 是否直接暴露給最終用戶?他們是否需要 需要輸入到他們的瀏覽器?並且爲此更好地擁有外部DNS條目?

回答

0

我的2美分:

  1. 將有一個學習曲線,但如果所有的用戶存儲在AD,使用ADFS會給你一些優點,比如SSO,對其他供應商如果聯盟你以後需要它。
  2. 開發/測試過程中使用自簽名證書沒有問題。您可以關閉ADFS端的證書撤銷檢查。
  3. 不,該聯合身份驗證服務名稱未公開給最終用戶。我建議你有ADFS的外部DNS條目,因爲你的用戶需要從外部訪問它。總之,用戶很少需要輸入ADFS URL。相反,他或她需要訪問服務提供商站點,並將其重定向到ADFS站點。
0

這正成爲一種更常見的情況,可以通過AD FS進行無縫處理。理想情況下你會想要做的是:

  • 部署AD FS農場
  • 配置你的Web應用程序,相信自己ADFS STS
  • 每當你需要添加誰將會使用多租戶客戶應用程序,向該客戶添加聯合信任(即您的AD FS和客戶的AD FS之間的聯合信任)

這將確保您在添加時不必爲每個用戶處理身份管理一個客戶。當客戶嘗試登錄到您的Web應用程序時,他將針對他的AD FS進行身份驗證,並且您的AD FS將獲得令牌並簽名並將其呈現給Web應用程序。這將給他們SSO,每個人都已經開始期待作爲一個事實上的:)

自簽名證書 - 作爲順提到它是確定測試過程中使用它們,只是確保所有的測試箱配置信任證書或以其他方式,你將看到連接斷開各地

聯合會服務名稱 - 正如上面安裝摘要說明,聯合身份驗證服務的名字將永遠不需要暴露於從客戶的組織最終用戶。儘管他知道,但他已經習慣了AD FS,因爲他已經習慣了。

你可能要考慮在Azure中部署AD FS: AD FS deployment in Azure

+0

欣賞的意見,我說,雖然不管我多麼希望使用Azure的AD爲了這個,我不能。老闆對此非常肯定。 – Hursey

相關問題