3

我正在创建一个使用 ADFS SSO 登录的 MVC4 应用程序。我正在尝试配置角色,以便我可以限制内容的管理部分但我遇到了一些问题。我希望有人能够告诉我如何在使用 ADFS 时创建角色?我已经成功限制了页面,我现在只需要能够添加实际角色本身,我希望有人可以帮助我。

在我的Global.asax文件中,我使用以下代码启用了角色:

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

在我的HomeController上,我尝试使用以下代码:

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

这会导致以下错误

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.

任何建议将不胜感激。

4

1 回答 1

3

最简单的方法是配置 ADFS 以将 AD 组映射到角色。

ADFS:发送组作为声明

例如,将“Token-Groups - Unqualified Names”映射到角色。然后 IsInRole 工作 OOTB。

于 2013-08-21T19:17:40.207 回答