asp.net-mvc-4 - 使用 ADFS 登录创建角色成员资格

我正在创建一个使用 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/

相关文章:

php - 使用 preg_replace 使序号全部小写

google-cloud-storage - 将大文件上传到谷歌云存储时超时

ruby-on-rails - "heroku logs"给我 "Not found"

canvas - 如何调试 CORS 错误

ruby-on-rails - 如何使用 nginx 作为代理将 redmine 移动到子 URI

r - 在 R : legend and lines 中用线密度代替颜色绘制 map

c# - 如何获取任何文件/文件夹的系统图标

.net - 定期 - 无法将索引 Y 处的 Unicode 字符 X 转换为指定的代码页

hadoop - 以 hdfs 作为接收器的水槽中的 NoSuchMethod 错误

git - 如何搜索 git 历史(镐),但不包括重命名