2013-10-23 40 views
1

我正在使用ASP.Net和MVC4構建Web應用程序。這個Web應用程序將被其他公司使用,但我們正在託管它。我們被告知我們必須使用ADFS。我們不知道在身份驗證中會傳遞給我們什麼樣的信息,但我們需要允許用戶擁有角色。我假設在驗證時應該返回一個用戶名。所以我想我會在數據庫中爲管理員和超級管理員構建一個用戶表。當用戶過來時,我們將檢查數據庫中是否存在用戶名,如果是,我們將從數據庫中讀取他們的角色。如果他們不存在於數據庫中,它們是公開的。 這裏所說的一切都是我需要解決的兩難問題。我該如何做到這一點,而不必在應用程序的任何位置編寫自定義代碼來檢查授權並檢查角色?我想使用[AuthorizeAttribute(roles)]。我應該創建一個自定義角色提供者嗎所有想法都歡迎。順便說一下,我們不能讓客戶管理角色並將其傳遞,因爲該公司是財富100強公司,他們沒有時間處理這些請求。想法如何使用ASP .Net MVC4與ADFS和用戶角色和信息

回答

0

我會建議看看Dominick Baier's work關於保護與索賠MVC的一些。他還與其他一些開發人員一起構建了Thinktecture,它同時具有Identity Server組件和庫,用於協助處理索賠,同時抽象出一些基本細節。

至於你需要做什麼的角色部分,你可以構建一個自定義的ClaimsAuthenticationManager,並對初次登錄時設置的用戶聲明執行任何轉換或添加。 Dominick擁有一些優秀的PluralSight課程,這些課程詳細介紹了此過程。他還有這個free video out there,其中詳細說明了約44分鐘的授權部分。

我最近經歷了獲得ADFS設置和驗證我們公司的一些MVC應用程序的工作。我所引用的資源對幫助我在這個過程中是無價的。