使用C#在远程计算机上对Active Dir进行身份验证

时间:2012-10-25 11:49:04

标签: authentication azure active-directory

如何访问远程计算机上的Active目录。 我创建了一个win服务器2008 R2,在Azure中安装了AD。主机名:MyVMachine,DNS:myapp.cloudapp.net。我可以使用笔记本电脑上的远程桌面连接访问本机。

我想针对该AD验证用户身份。我应该使用ContextType.Domain或ContextType.Machine以及LDAP,如何约束它以便联系该AD?此代码位于笔记本电脑中的WCF服务应用程序中。以下是行不通的:

        using (PrincipalContext pc = new PrincipalContext(ContextType.Domain, "LDAP://MyVMachine.testenv.local/ou=Users,dc=testenv,dc=local"))
        {
            // validate the credentials
            bool b = pc.ValidateCredentials("Administrator", "password");
            return true;
        }

我想在这里验证用户管理员,我在testenv.local节点i AD机器的Users节点中看到了exsists。

使用此代码我收到“无法联系服务器。”使用principalServerDownExceptioan。

我需要帮助。

谢谢大家

我在Azure中的AD机器: enter image description here

1 个答案:

答案 0 :(得分:0)

您当前请求的方案不可用,也不受支持。截至目前唯一受支持的选项(并且仍在PREVIEW中)是Azure中的Active Directory REPLIC A.这意味着您必须拥有内部部署AD并将Azure部分用作副本。

为了均匀使用副本,您必须配置Azure Virtual Network以在本地计算机和Windows Azure虚拟网络之间建立VPN。

我的猜测和推测

其中一个可能的原因(我的猜测)是目前在Windows Azure虚拟网络中,虽然定义了自己的子网,但所有虚拟机必须具有DHCP分配的IP地址。主域控制器必须具有静态IP地址。

<强>更新

如果您只想使用LDAP://MyVMachine.testenv.local/中所述的LDAP功能,则必须在Windows Server Firewll和Windows Azure虚拟机输入端点中打开LDAP端口(可从新门户配置,当您选择VM顶部有“端点”菜单项。哪个是TCP protocol on (default) port 389 or 636 for SSL。您还必须安装服务器的LDAP功能并进行配置。但这些是更多的AD / LDAP细节,如果您不知道更好,请serverfault