2013-08-21 66 views
2

我正在創建一個使用ADFS SSO登錄的MVC4應用程序。我正在嘗試配置角色,以便可以限制內容的管理部分但我遇到了一些問題。我希望有人能夠告訴我如何在使用ADFS時創建角色?我已經成功限制了頁面我現在只需要添加實際角色本身,我希望有人能幫助我。使用ADFS登錄創建角色成員資格

System.Web.Security.Roles.Enabled = true; 

而且我HomeControllor我用下面的代碼嘗試:

if (hvm.User.isAdmin == true) 
{ 
    if(!User.IsInRole("Admin")) 
    Roles.AddUserToRole("jpmcfeely", "Admin"); 
} 

這導致

在我的Global.asax文件我所使用的代碼啓用的角色以下錯誤

This method can only be called during the application's pre-start initialization phase. Use PreApplicationStartMethodAttribute to declare a method that will be invoked in that phase. 

任何建議將不勝感激。

回答

1

最簡單的方法是配置ADFS以將AD組映射到角色。

ADFS : Sending groups as claims

例如將「Token-Groups - Unqualified Names」映射爲角色。然後IsInRole工作OOTB。

+0

您好,我需要對web.config文件進行任何特殊更改以將角色提供程序設置爲角色聲明的角色提供程序? – Jay

+0

不知道我理解但不是,不需要更改。如果您有一個名爲Admin的AD組,並且Joe是該組的成員,那麼通過映射Joe將具有Admin角色。 – nzpcmad

+0

而這不需要SimpleMembership初始值設定項?它將開箱即用,或者我必須根據角色模式檢查索賠 – Jay

相關問題