我正在创建一个使用 ADFS SSO 登录的 MVC4 应用程序。我正在尝试配置角色,以便我可以限制内容的管理部分,但我遇到了一些问题。我希望有人能够告诉我如何在使用 ADFS 时创建角色?我已经成功限制了页面,我现在只需要能够自己添加实际角色,我希望有人能帮助我。
在我的 Global.asax 文件中,我使用以下代码启用了角色:
System.Web.Security.Roles.Enabled = true;
在我的 HomeControllor 上,我尝试使用以下代码:
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.
如有任何建议,我们将不胜感激。
最佳答案
最简单的方法是配置 ADFS 以将 AD 组映射到角色。
ADFS : Sending groups as claims .
例如将“ token 组 - 不合格名称”映射到角色。然后 IsInRole 工作 OOTB。
https://stackoverflow.com/questions/18355430/