【发布时间】:2015-08-24 11:13:19
【问题描述】:
我需要创建一个 web-api,它应该通过活动目录对用户进行身份验证。该 api 应该是公开可用的,并且需要对 Intranet 内的用户进行身份验证。但用户身份验证也应该在特定 Intranet 之外进行。我应该怎么做才能公开提供服务
【问题讨论】:
标签: c# security iis active-directory asp.net-web-api
我需要创建一个 web-api,它应该通过活动目录对用户进行身份验证。该 api 应该是公开可用的,并且需要对 Intranet 内的用户进行身份验证。但用户身份验证也应该在特定 Intranet 之外进行。我应该怎么做才能公开提供服务
【问题讨论】:
标签: c# security iis active-directory asp.net-web-api
Authenticate 外部用户直接针对您的生产Active Directory 是不安全的。但这并不意味着你不能完成你的任务。你应该开始调查Active Directory Lightweight Directory Services
AD LDS 或以前称为ADAM 将允许您使用Proxy Authentication 来authenticate 外部用户对抗您的Active Directory。
代理身份验证允许用户执行与 AD LDS 实例的简单绑定,同时仍保持与 Active Directory 帐户的关联。交易涉及两个账户。第一个是 AD LDS 中的一个特殊对象,称为 userProxy 对象。第二个是用户在 Active Directory 中的帐户。
AD LDS userProxy 对象是 Active Directory 帐户的表示。代理对象通过帐户的安全标识符 (SID) 绑定到 Active Directory 帐户。实际代理对象本身没有存储密码。
当用户使用代理对象对 LDS 实例执行简单绑定时,绑定会通过将 SID 和密码传递给域控制器来重定向到 Active Directory。 AD LDS 服务器执行身份验证,整个过程对最终用户是不可见的
【讨论】:
您不能在您的 Intranet 之外使用 AD 对用户进行身份验证。他们应该在通过身份验证之前使用 VPN 连接来访问您的网络。
【讨论】: