我需要将 ASP.NET Web 应用程序与活动目录集成 - 基本上他们希望能够使用 AD 进行身份验证和授权。
我意识到这相对简单,但我想知道的是如何模拟 AD 进行开发和测试。我(现在)没有可用的 AD,即使我有可用的硬件来运行它,我也不珍惜设置它的想法。
我还有哪些其他选择?我在几个地方看到过ADAM,但这似乎并没有提供我需要的联合服务(而且似乎有点过时了)。是否可以为此使用 Azure?我想将成本(时间和金钱)保持在最低限度。
我需要将 ASP.NET Web 应用程序与活动目录集成 - 基本上他们希望能够使用 AD 进行身份验证和授权。
我意识到这相对简单,但我想知道的是如何模拟 AD 进行开发和测试。我(现在)没有可用的 AD,即使我有可用的硬件来运行它,我也不珍惜设置它的想法。
我还有哪些其他选择?我在几个地方看到过ADAM,但这似乎并没有提供我需要的联合服务(而且似乎有点过时了)。是否可以为此使用 Azure?我想将成本(时间和金钱)保持在最低限度。
我已经设法设置了一个适合使用 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 节点的领域属性匹配。AntiForgeryConfig.UniqueClaimTypeIdentifier = ClaimTypes.Name;
如此处所述。还值得注意的是,身份和访问工具允许您使用 Azure ACS 和更值得注意的开发 STS 设置身份验证。对于我的要求,我需要能够与 ADFS 集成,但如果您只是在尝试基于声明的身份验证,那么其中之一可能是比我上面经历的过程更好的选择。
考虑 ADFS 和 ws-federation。
ws-federation 是一种企业 sso 协议,它以 sso 方式为您提供跨域身份验证/授权。Adfs 是位于活动目录之上的协议的免费实现。设置起来相对容易。
但是如果有一个需要 ws-federation 身份提供者的客户端应用程序,您可以用任何兼容的提供者(您自己的或身份服务器)替换该提供者,后者是另一种免费实现但可以使用成员资格提供者。另一方面,完全自定义的实现将使您有机会设置和提供任意身份。
这种方法的学习曲线很小,但好处是: