使用C#在远程计算机上验证Active Dir
如何访问远程计算机上的Active Directory? 我已经在Azure中安装了AD创建了一个win server 2008 R2。主机名:MyVMachine,DNS:myapp.cloudapp.net。我可以使用笔记本电脑的远程桌面连接访问本机。使用C#在远程计算机上验证Active Dir
我想根据该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;
}
我想在这里authenticaate用户管理员whiich我看到exsists在testenv.local节点i广告机用户节点。
与此代码我得到“服务器无法联系。”与principalServerDownExceptioan。
我需要帮助。
谢谢大家
我的广告机在Azure中:
回答:
您当前的请求的情况是不可能的,也不是支持的。截至今天唯一支持的选项(它仍在预览中)是Azure中的Active Directory REPLIC A.这意味着您必须拥有自己的本地AD,并使用Azure作为副本。
为了甚至到副本,您必须配置Azure Virtual Network在您的内部部署计算机和Windows Azure虚拟网络之间建立VPN。
我的猜测和投机:
其中之一为(我的猜测),可能的原因是,目前的Windows Azure虚拟网络中,划定子网你的自我,所有的虚拟机必须有DHCP分配的IP地址。主域控制器必须具有静态IP地址。
UPDATE
如果你想在LDAP://MyVMachine.testenv.local/
你必须在这两个Windows服务器Firewll和Windows Azure的虚拟机输入端点(从一个新的门户配置打开LDAP端口描述为只使用LDAP的功能,当你选择虚拟机时,顶部有“Endpoints”菜单项)。其中应为TCP protocol on (default) port 389 or 636 for SSL。而且您还必须安装服务器的LDAP功能并对其进行配置。但是,这些更多的AD/LDAP细节,如果你不知道更好的问。
以上是 使用C#在远程计算机上验证Active Dir 的全部内容, 来源链接: utcz.com/qa/257557.html