Tôi đang cố gắng sử dụng PrincipalContext cho dịch vụ web mà tôi đang phát triển. Tôi đã sử dụng xác thực biểu mẫu trên máy chủ web trong một ứng dụng khác và nó hoạt động tốt.PrincipalContext không kết nối
Các lỗi mà tôi đang recieving là:
System.DirectoryServices.AccountManagement.PrincipalServerDownException: The server could not be contacted. ---> System.DirectoryServices.Protocols.LdapException: The LDAP server is unavailable.
at System.DirectoryServices.Protocols.LdapConnection.Connect()
at System.DirectoryServices.Protocols.LdapConnection.SendRequestHelper(DirectoryRequest request, Int32& messageID)
at System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryRequest request, TimeSpan requestTimeout)
at System.DirectoryServices.Protocols.LdapConnection.SendRequest(DirectoryRequest request)
at System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConfig(String serverName, ServerProperties& properties)
--- End of inner exception stack trace ---
at System.DirectoryServices.AccountManagement.PrincipalContext.ReadServerConfig(String serverName, ServerProperties& properties)
at System.DirectoryServices.AccountManagement.PrincipalContext.DoServerVerifyAndPropRetrieval()
at System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, String name, String container, ContextOptions options, String userName, String password)
at System.DirectoryServices.AccountManagement.PrincipalContext..ctor(ContextType contextType, String name, String container, String userName, String password)
at webService.Service1.ValidUser(String sUserName) in E:\Development\CSharpApps\Desktop\OrgChart\webService\Service1.asmx.cs:line 158
webserver của chúng tôi là trong DMZ và truy cập vào tên miền thông qua các bức tường lửa. Tôi đang sử dụng thông tin cổng vv như dưới đây cho một ví dụ.
Tác phẩm này sử dụng ip từ hộp phát triển của tôi, tuy nhiên nó nằm trong tường lửa. Thông tin ip mà tôi gửi đến cũng giống như thông tin tôi đang sử dụng bên trong xác thực biểu mẫu web.
PrincipalContext ctx = new PrincipalContext(ContextType.Domain, "192.168.1.1:389", "dc=doodlie,dc=com",@"doodlie\admin","doodliesquat");
Một câu hỏi tương tự ở đây: http://stackoverflow.com/questions/1023489/error-while-trying-to-connect-ad-using-ldap-connection – mmcglynn