【问题标题】:From windows authentication to token based authentication, keeping .net framework 4.6 and active directory in use从 Windows 身份验证到基于令牌的身份验证,保持 .net 框架 4.6 和活动目录在使用中
【发布时间】:2020-05-22 18:05:00
【问题描述】:

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

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

【问题讨论】:

    标签: windows authentication oauth-2.0 token .net-4.6


    【解决方案1】:

    历史

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

    • 扩大覆盖范围,以便可以通过 Internet 使用应用
    • 支持跨域场景,例如不同域中的 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 技术的一些挑战。也许看看我的first tutorial 进行设置。

    【讨论】:

    • 嗨,加里,非常感谢您的回复。我不想保留 Windows 身份验证,而是任何可以与 AD(活动目录)一起使用的身份验证机制,并且我不必从 .net 框架 4.6 升级应用程序。成本和其他事情不应该成为问题,因为它是一个企业应用程序。再次感谢您的想法/帮助。
    猜你喜欢
    • 2021-01-25
    • 1970-01-01
    • 1970-01-01
    • 2014-04-04
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2011-03-18
    • 2021-02-08
    相关资源
    最近更新 更多