我需要将ASP.NET Web应用程序与Active Directory集成 - 基本上他们希望能够通过AD进行身份验证和授权。
我意识到这是相对简单的,但我想知道的是我如何模拟AD进行开发和测试。我没有可用的AD(现在),即使我有可用于运行它的硬件,也不要珍惜设置它。
我还有哪些其他选择?我在几个地方看过ADAM mentioned,但这似乎并没有提供我需要的联合服务(而且似乎有些过时)。是否可以使用Azure?我想把成本(时间和金钱)降到最低。
答案 0 :(得分:3)
我已设法设置适合使用Microsoft Azure VM进行开发的活动目录环境。
以下是我完成此工作的步骤的简要摘要。虽然设置AD和ADFS听起来很可怕,但是Windows Server 2012界面让它变得非常容易,除非我在下面提到一些问题 - 它们也需要一段时间才能安装。
https://<your VM url>/FederationMetadata/2007-06/FederationMetadata.xml
(如果您的证书是自签名的,则可能需要手动下载此文件)。我遵循的主要文章如下:
http://blogs.rondewit.com/post/MVC-2b-ADFS-20-Federated-Authentication.aspx http://garymcallisteronline.blogspot.co.uk/2013/01/aspnet-mvc-4-adfs-20-and-3rd-party-sts.html
下面是我点击的陷阱列表(没有特别的顺序)。
https://localhost
。第二个是用于标识尝试进行身份验证的应用程序的标识符。输入的其中一个标识符必须匹配MVC 4应用程序web.config中wsFederation节点的realm属性。AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Name;
,如here所述。同样值得注意的是,Identity and Access工具允许您使用Azure ACS设置身份验证,更值得注意的是开发STS。根据我的要求,我需要能够与ADFS集成,但如果您只是尝试基于声明的身份验证,其中一个可能比我上面经历的过程更好。
答案 1 :(得分:0)
考虑ADFS和ws-federation。
Ws-federation是一种企业sso协议,以sso方式为您提供跨域身份验证/授权。 Adfs是位于活动目录之上的协议的免费实现。设置相对容易。
但是如果客户端应用程序需要ws-federation身份提供程序,则可以将提供程序替换为任何兼容的提供程序,您自己的或身份服务器,这是另一个免费实现,但可以使用成员资格提供程序。另一方面,完全自定义的实现将为您提供设置和服务的机会 任意身份。
这种方法的学习曲线很小,但有益的是: