1

我正在使用 ASP.Net 和 MVC4 构建一个 Web 应用程序。此 Web 应用程序将由另一家公司使用,但我们正在托管它。我们被告知必须使用 ADFS。我们不知道在身份验证中会收到什么样的信息,但我们需要允许用户拥有角色。我假设在通过身份验证时应该返回一个用户名。所以我想我会在数据库中为管理员和超级管理员建立一个用户表。当用户过来时,我们将检查数据库中是否存在用户名,如果存在,我们将从数据库中读取他们的角色,如果他们不存在于数据库中,则它们是公共的。这里所说的都是我需要解决的困境。如何在不在应用程序中到处编写自定义代码来检查授权和检查角色的情况下做到这一点?我想使用 [AuthorizeAttribute(roles)]。我应该创建自定义角色提供程序吗?欢迎所有想法。顺便说一句,我们不能让客户管理角色并将其传递出去,因为这家公司是财富 100 强公司,他们没有时间处理这些请求。

4

1 回答 1

0

我建议查看Dominick Baier 的一些关于通过索赔保护 MVC 的工作。他还与其他一些开发人员一起构建了 Thinktecture,它具有 Identity Server 组件和库,用于协助处理索赔,同时抽象出一些细节。

至于您需要做的角色部分,您可以构建一个自定义 ClaimsAuthenticationManager 并让它在初始登录时对用户声明集执行任何转换或添加。Dominick 有几门优秀的 PluralSight 课程,其中更详细地介绍了这个过程。他也有这个免费视频,其中详细介绍了大约 44 分钟左右的授权部分。

我最近在我们公司完成了设置 ADFS 和验证一些 MVC 应用程序的工作。我引用的资源在帮助我完成这个过程中非常宝贵。

于 2013-11-10T02:58:04.133 回答