关于如何将ASP .Net MVC 4与ADFS和用户角色和信息一起使用的想法

时间:2013-10-23 14:28:33

标签: asp.net-mvc-4 roles adfs

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

1 个答案:

答案 0 :(得分:0)

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

至于您需要做的角色部分,您可以构建自定义的ClaimsAuthenticationManager,并在初始登录时执行对用户声明集的任何转换或添加。 Dominick有几个优秀的PluralSight课程,详细介绍了这个过程。他还有free video out there,详细说明授权部分大约44分钟。

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