2013-08-21 45 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

相关问题