使用web api及其范围实现Active Directory身份验证

时间:2015-08-24 11:13:19

标签: c# security iis active-directory asp.net-web-api

我需要创建一个web-api,它应该通过活动目录对用户进行身份验证。 api应该是公开的,需要对内部网内的用户进行身份验证。但是,用户身份验证也应该从特定的Intranet外部完成。我应该怎样做才能公开开放服务

2 个答案:

答案 0 :(得分:1)

Authenticate外部用户直接对您的作品Active Directory不安全。但这并不意味着你无法完成任务。你应该开始研究Active Directory Lightweight Directory Services

AD LDS或以前称为ADAM将允许authenticate外部用户Active Directory使用Proxy Authentication。{/ p>

What Is Proxy Authentication?

  

代理身份验证允许用户执行与AD LDS实例的简单绑定,同时仍保持与Active Directory帐户的关联。交易涉及两个账户。第一个是AD LDS中的一个特殊对象,称为userProxy对象。第二个是Active Directory中用户的帐户。

     

AD LDS userProxy对象是Active Directory帐户的表示形式。代理对象通过该帐户的安全标识符(SID)绑定到Active Directory帐户。实际的代理对象本身没有存储密码。

     

当用户使用代理对象执行与LDS实例的简单绑定时,通过将SID和密码传递给域控制器,将绑定重定向到Active Directory。 AD LDS服务器执行身份验证,整个过程对最终用户不可见

答案 1 :(得分:0)

您无法在Intranet外部对AD进行身份验证。在进行身份验证之前,他们应该使用VPN连接来访问您的网络。