LDAPS работает на Visual Studio 2008, но не работает на IIS 5.1 - PullRequest
0 голосов
/ 12 июня 2009

Я использую C # для аутентификации пользователей в моем приложении следующим образом:

LdapConnection connection = null;
       try
       {                
           using (connection = new LdapConnection(Configuration.JonahLdapServer))
           {
               connection.Credential = new NetworkCredential(userName, password, Configuration.JonahDomain);
               connection.AuthType = AuthType.Basic;
               connection.SessionOptions.SecureSocketLayer = true;
               connection.SessionOptions.VerifyServerCertificate = 
                   new VerifyServerCertificateCallback(AlwaysTrustCertificateDelegate);
               connection.Bind();
               return true;
           }
       }

Когда я запускаю это в VS 2008, оно работает просто отлично. Однако при развертывании приложения в IIS 5.1 оно дает мне следующую трассировку стека:

System.DirectoryServices.Protocols.LdapException: сервер LDAP недоступен. System.DirectoryServices.Protocols.LdapConnection.Connect () в System.DirectoryServices.Protocols.LdapConnection.BindHelper (NetworkCredential newCredential, Boolean needSetCredential) в System.DirectoryServices.Protocols.LdapConnection.Bind () в Jonahgroup.Lychee.Presentation.Security.SecurityManager.AuthenticateUser (String userName, String password)

Следует отметить, что если я запускаю код без SSL, он отлично работает как на IIS, так и на VS.

Любая помощь будет оценена.

Ответы [ 2 ]

1 голос
/ 13 июня 2009

У учетной записи IIS нет доступа к хранилищу сертификатов. Вы можете либо изменить учетную запись IIS, чтобы она работала как вы (не рекомендуется для производственного развертывания), либо предоставить текущей учетной записи IIS доступ к каждому из ваших сертификатов (в папке c: \ Documents And Settings \ All Users \ Application Data \ Microsoft \ Crypto \ RSA).

Кстати, я обнаружил аналогичную ветку, в которой автору удалось переключить учетную запись IIS для использования ASPNET из учетной записи IUSR_.

http://www.velocityreviews.com/forums/t109404-aspnet-and-ldap.html

0 голосов
/ 12 июня 2009

Следует отметить, что если я запускаю код без SSL, он отлично работает как на IIS, так и на VS.

Это может означать, что проблема связана больше с вашей конфигурацией ssl, чем с чем-либо еще, хотя почему вы работаете на Windows XP (iis 5.1), которая является системой настольного класса, а не Windows Server Edition непонятно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...