首页 > 解决方案 > 从 Windows 身份验证到基于令牌的身份验证,保持 .net 框架 4.6 和活动目录在使用中

问题描述

我的企业应用程序是在 .net framework 4.5 中开发的,并且正在使用 windows 身份验证。在这种情况下,众所周知,是底层的 AD(活动目录)对用户进行身份验证。

我必须用基于令牌的身份验证替换 Windows 身份验证,保留 .net 框架 4.6 和 AD(活动目录)。我想 oAuth 是一个可能的解决方案,您能否分享一些关于其他可能解决方案的想法以及我该如何开始。

标签: windowsauthenticationoauth-2.0token.net-4.6

解决方案


历史

几年前,为企业 Intranet 开发应用程序很常见,在这种情况下,Windows 身份验证是一个很好的解决方案。当基于令牌的身份验证出现时,通常有以下好处:

  • 扩大覆盖范围,以便可以通过互联网使用应用程序
  • 支持跨域场景,例如不同域的API
  • 根据用户位置和设备类型支持多种身份验证方法/策略
  • 编写更少的安全代码,并为多个应用提供新的安全功能

执行

OAuth 迁移是一项重大的架构更改,需要根据成本和收益进行管理,尽管一旦完成,您的应用程序将非常先进。以下是 Windows 身份验证通常在 OAuth 2.0 / Open Id Connect 世界中的工作方式,这需要更复杂的设置:

  • 您的 UI 重定向到云授权服务器 (AS),例如 Azure 访问控制
  • AS 重定向到配置为使用 Windows 身份验证的身份提供程序 - 例如 ADFS(Active Directory 联合服务)的本地版本
  • 在公司 Intranet 中时,用户会自动登录,并且 ADFS 将令牌发布到 AS
  • AS 向您的 UI 发布不同的令牌
  • 您的 UI 使用 AS 令牌调用 API,API 对其进行验证

入门

如果您认为努力是值得的,那么这项工作有两个部分。请注意,您的应用程序代码只会与 AS 交互,不需要知道或关心身份验证方法:

  • 基础设施迁移
  • 更新 UI 和 API 中的代码

如果有帮助,我的博客和代码示例旨在帮助人们应对 OAuth 技术的一些挑战。也许看看我的第一个教程来设置。


推荐阅读