#c# #ldap #vpn #directoryentry #trustedconnection
#c# #ldap #vpn #вход в директорию #доверенное соединение
Вопрос:
Можно ли проверить vpn-соединение или компьютер подключен к доверенной сети? Моему приложению требуется подключение к LDAP для получения некоторых данных. это действие запускается, когда пользователь входит в систему на компьютере и включает пользователя, работающего за пределами доверенной сети (домашней сети), и это вызывает проблемы при подключении к LDAP.
DirectoryEntry soRoot = new DirectoryEntry("LDAP://mydomain");
string ssDomainContext = soRoot.Properties["distinguishedName"].Value.ToString();
приведенный выше блок кода будет работать корректно, если компьютер успешно подключен к VPN через Cisco Anyconnect или с использованием офисной сети (доверенная сеть)
Меня беспокоит то, сможем ли мы обнаружить соединение с VPN или LDAP сразу после установления соединения, а затем служба обработает следующий шаг?
Я думаю о том, как это соединение будет проверяться в цикле каждый раз, пока соединение не будет завершено, но я думаю, что это неправильный путь
Комментарии:
1. Лучший способ — попробовать LDAP, и если вы получите исключение, попробуйте VPN.
2. сколько раз я должен проверять? Я просто хочу знать сразу после установления соединения для обработки следующего шага…
3. Соединение не будет установлено, если произойдет сбой LDAP. Итак, вы пытаетесь подключиться с помощью LDAP, и если это не удается, попробуйте VPN.
4. спасибо за ваш ответ, меня беспокоит то, как мы можем узнать сразу после подключения LDAP? например: я пишу функцию для проверки подключения LDAP в цикле продолжительностью 5 минут, пока LDAP не будет подключен. Это означает, что если через 1 час на компьютере установлено LDAP-соединение, то у нас есть 12 проверок. Возможно ли это, если мы можем проверять всякий раз, когда у машины есть LDAP-соединение без времени цикла?
5. Разве у вас нет двух условий: 1) Завершено ли соединение (либо LDAP, либо VPN) 2) Соединение все еще подключено.