Asp.net-Mvc
如何使用 MVC Azure AD 身份驗證從 AD 獲取角色?
我設置和 MVC 4 應用程序並添加了針對我們的 Azure AD 伺服器的身份驗證,如下所述:http: //msdn.microsoft.com/en-us/library/windowsazure/dn151790.aspx
身份驗證按預期工作。但是,預設情況下我沒有獲得任何角色。應該創建了幾個 AD 組,我想使用它們來通過角色限制應用程序
$$ Authorize $$MVC 中的屬性。 我真的找不到一個好地方來開始弄清楚這一點。誰能給我一個大綱或指出一個好的教程?
我應該提一下,我不是我們 Azure 帳戶的管理員,所以我需要能夠告訴我們的管理員如果需要任何設置,我該怎麼做。
首先,Azure AD 返回的令牌目前不包含角色或組的聲明,因此您需要從 Graph API 獲取它們。其次,由 Graph API 返回的 Azure AD 中的角色不一定適用於 ISV/LoB 應用程序,通常應該使用安全組進行授權。要執行授權,您應該使用 Graph API 中的 checkMemberGroups 或 getMemberGroups 操作,它們是可傳遞的並且對此有效。
如果您按順序查看以下資源,我認為您的問題將得到解答。您將學習如何對 Graph 進行身份驗證、呼叫它並配置您的應用程序以使用組操作的結果來執行授權:
- 使用 Graph API 查詢 Windows Azure AD —— 這是完成 Web SSO 後的第二個演練。
- 使用 Windows Azure Active Directory 進行授權
- Azure AD Graph 的 MVC 範例應用程序
- 描述 checkMemberGroups 和 getMemberGroups 的部落格文章
- 如何為通過 Windows Azure AD 登錄的使用者獲取角色和組成員資格聲明?– 這個在身份驗證方法和管理使用者/組的 UI 方面已經過時,但它仍然有用。請特別注意關於自定義 ClaimsAuthenticationManager 的部分,它讓您了解如何儘早將角色/組數據注入到 ClaimsPrincipal 對像中,以便可以在$$ Authorize $$屬性或其他授權邏輯。