情况: 我需要使用MVC创建Web应用程序,其中用户使用ADFS对AD进行身份验证。但他们不希望将角色和进一步的信息存储到AD中。所以我需要在其他地方阅读和存储这些信息。我的第一个想法是使用VS创建新Web应用程序时设置的相同基础架构,并选择"个人用户帐户"。
到目前为止我做了什么:
我的问题: 是否可以使用ADFS对用户进行身份验证,并通过使用/扩展ASP.NET Identity Framework来检索有关登录用户的更多信息(如角色,其他属性(例如,部门))?有人有一个很好的链接吗?
我很乐意提供任何帮助。
答案 0 :(得分:2)
无需在您的网络应用中完成工作......
您可以让ADFS从SQL数据库中获取声明信息。
添加属性存储..
将属性存储类型设置为 SQL
输入显示名称和连接字符串
然后,在向依赖方添加声明时,请选择声明类型 “...自定义规则”并让您输入的查询从您的数据库中获取属性。
中有更多细节,有一个非常好的walkthru答案 1 :(得分:0)
您遇到的问题是您必须通过某种主键将AD声明映射到ASP.NET标识。
这里的好链接:Code! MVC 5 App with Facebook, Twitter, LinkedIn and Google OAuth2 Sign-on (C#)。
(使用ADFS 4.0(Server 2016),您将能够使用SQL DB进行身份验证和授权。)