1

Currently our company has an intranet web app (built with asp.net) using windows authentication verifying users against an in house active directory to be able to access the app. We are thinking about moving the app out to azure and extending our active directory in house out to azure as well.

We are stumbling upon how this works when a user is trying to access the web app once it is setup in azure if users are working remotely and not in the office. Currently the user will log in through a juniper SSL client when remote to get into the local domain. Once they do so they can access the intranet web app since they are now on the domain and can be verified by AD.

How would this work if we put our web app out into azure? Do they offer a front end a user can log into (similar to juniper) which will then verify them against the azure ad, and only then they can access the web app based on windows authentication?

NOTE: Our goal if possible is for a DR solution and if the office is not accessible we would like to bypass needing to use juniper to get onto the domain first before going up to azure and into the web app.

4

3 回答 3

2

如果您想使用本地 Windows Active Directory 作为 Windows Azure 的身份提供者,我认为您正在寻找 SSO 解决方案,它可以使用访问控制服务或 Windows Azure Active Directory 进行存档。

关于这两项服务,请阅读:Azure Active Directory 是 ACS 的未来

博客提供了有关如何使用 ACS 进行操作的视频。

这篇文章:Windows Azure ACS with Active Directory as identity provider for SSO,也应该有所帮助。

于 2014-02-26T16:43:00.270 回答
2

为基于浏览器的应用程序实现针对 Active Directory 的身份验证的最简单方法是使用 Active Directory 联合身份验证服务 (ADFS)。应用程序使用 WS-Federation 被动身份验证协议将身份验证委托给 ADFS 公开的网站。

  1. 当未经身份验证的用户访问您的站点时,他们将被重定向到 ADFS。
  2. 如果用户在域中,ADFS 将让他们静默登录,否则它会询问用户他们的域凭据(Windows 登录名和用户名)。
  3. ADFS 使用标识用户的身份验证令牌将用户重定向回站点。
  4. 该站点验证令牌并设置用户的身份。

这完全取代了 Windows 集成身份验证(我假设您正在使用它)并将您的应用程序切换到不再对 Active Directory 或域有深入了解的基于声明的系统。

此解决方案要求您的 ADFS 网站可以公开,以便您网络之外的用户可以访问它。有很多文章用于配置各种不同级别的安全 ADFS,但这更多的是网络和基础架构问题,而不是编程问题。

如果这不合适,您可以配置一个 Windows Azure Active Directory 实例来提供与 ADFS 相同的功能。您必须在本地 Active Directory 林和 Azure 实例之间设置同步,这需要将部分 Active Directory 基础结构暴露给 Windows Azure。

在任何一种情况下,您都必须切换到使用 WS-Federation 和基于声明的身份来消除您对 Windows 集成身份验证的依赖。

于 2014-02-26T17:00:19.693 回答
2

您真正想要做的是启动 Visual Studio 2013 并尝试多组织 Web 应用程序模板,看看这是否不是您想要的。然后将您当前的应用程序迁移到该应用程序。

它为您提供了一个 3party 公司可以注册您的应用程序的地方(他们的 WAAD 的管理员可以这样做),并且它将被添加到他们的 WAAD。

然后,他们组织的用户可以在组织注册后登录您的应用程序。

如果您正在使用 Owin,我刚刚制作了一个 owin 示例,该示例使用 alpha owin 包显示了这一点(这还没有准备好生产)。但是用于多组织登录的 VS 模板是一个很好的起点,它完全符合您的要求。

http://www.s-innovations.net/Blog/2014/02/22/Multi-Organizational-sign-in-with-WsFederation-owin-middleware

于 2014-02-27T19:37:13.077 回答