Учитывая имя пользователя и пароль для пользователя домена, какой был бы лучший способ аутентифицировать этого пользователя программно?Аутентификация пользователей домена с помощью System.DirectoryServices
6
A
ответ
8
Вы можете использовать некоторые хаки для только для аутентификации.
Try
Dim directoryEntry as New DirectoryEntry("LDAP://DomainController:389/dc=domain,dc=suffix", "username", "password")
Dim temp as Object = directoryEntry.NativeObject
return true
Catch
return false
End Try
Если пользователь не является действительным, запись каталога NativeObject не может быть доступен и бросает исключение. Хотя это не самый эффективный способ (исключения - зло, бла-бла-бла), это быстро и безболезненно. Это также имеет превосходное преимущество в работе со всеми LDAP-серверами, а не только с AD.
16
Похоже, что .NET 3.5 добавило новое пространство имен для решения этой проблемы - System.DirectoryServices.AccountManagement. Пример кода ниже:
Private Function ValidateExternalUser(ByVal username As String, ByVal password As String) As Boolean
Using context As PrincipalContext = New PrincipalContext(ContextType.Domain, _defaultDomain)
Return context.ValidateCredentials(username, password, ContextOptions.Negotiate)
End Using
End Function
Пространство имен также, кажется, обеспечивает много методов для работы с учетной записью домена (изменение паролей, истекающий пароли и т.д.).
Смежные вопросы
- 1. Аутентификация пользователей домена Windows с помощью Rstudio-сервера
- 2. Аутентификация API перекрестного домена
- 3. Аутентификация пользователей с помощью приложения-приложения
- 4. Медленная аутентификация пользователей с помощью TeamFoundationServerFactory
- 5. Аутентификация пользователей Android с помощью PHP
- 6. Аутентификация пользователей через LDAP с помощью Shiro
- 7. Аутентификация пользователей на Mac с помощью какао
- 8. Приложение Google для домена (аутентификация)
- 9. Аутентификация пользователей в мерзавца с LDAP
- 10. Аутентификация пользователей домена в SharePoint Online через ADFS
- 11. Аутентификация пользователей с помощью Active Directory с помощью мобильных устройств
- 12. Аутентификация пользователей MVC с Android
- 13. Аутентификация ASP.NET: добавление аналогичной части (домена) ко всем именам пользователей
- 14. ldap аутентификация для AD работает для групп, кроме «пользователей домена»
- 15. Аутентификация пользователей в ASP.NET
- 16. System.DirectoryServices use И ограничение
- 17. Аутентификация пользователей с несколькими столами
- 18. Аутентификация пользователей с сервером LDAP
- 19. Аутентификация различных пользователей
- 20. Список пользователей домена с wmi
- 21. Перекрестная аутентификация домена с помощью Ion_auth для Codeigniter
- 22. Аутентификация форм с помощью политики Active Directory и домена
- 23. Аутентификация пользователя домена в приложениях для Windows Store?
- 24. Перекрестная аутентификация домена с использованием jQuery
- 25. Kohana - Аутентификация пользователей?
- 26. аутентификация пользователей и dht
- 27. Аутентификация Windows для конкретной группы пользователей Windows
- 28. Аутентификация с помощью LocomotiveCMS
- 29. Аутентификация пользователей SQL + AD
- 30. Аутентификация с помощью Rest API
Вы никогда не должны ломать ВСЕ исключения, подобные этому ... COMException - это то, что будет выброшено, если вы не сможете получить доступ к серверу LDAP, так что это то, что вы будете ловить. – 2011-01-06 04:29:02