ドメインユーザーのユーザー名とパスワードを指定すると、そのユーザーをプログラムで認証するにはどうすればよいでしょうか?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にアクセスできず、例外がスローされます。これは最も効率的な方法ではありませんが(例外は邪悪なものです)、迅速かつ無痛です。これには、ADだけでなく、すべてのLDAPサーバーで作業するという超クールな利点もあります。
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. System.DirectoryServicesからDirectoryServices.Protocolsに切り替えるときの認証タイプ
- 2. java WEBアプリケーション - 承認ドメインユーザー
- 3. System.DirectoryServices AuthenticationTypes
- 4. ドメインユーザーiisで認証するときにREMOTE_USERサーバー変数のバックスラッシュを置き換えます。iis httpModule
- 5. Installshield設定でドメインユーザー/パスワードを確認します
- 6. WS-FederationとSystem.DirectoryServices
- 7. System.DirectoryServicesが遅い
- 8. WCFサービス発信者のActive Directoryドメインユーザー名を確認する
- 9. ドメインコントローラが利用できないときに.NETアプリケーションからドメインユーザーを認証する
- 10. ドメインユーザー向けオートコンプリート
- 11. クライアント証明書認証でBASIC認証を使用する
- 12. System.DirectoryServicesの断続的例外
- 13. Laravel:JavaScriptで認証を確認する
- 14. FireFox認証を迂回するWatiN認証が必要です。
- 15. 認証認証
- 16. PHP:HTTPダイジェスト認証レスポンスを使用してLDAPで認証する
- 17. Grailsで基本認証とフォームベースの認証をサポートする
- 18. CakePHP認証でAndroidユーザーを認証する
- 19. Hestoマルチ認証でLaravel 5.3の認証パラメータを変更する
- 20. AWS Cognito認証でカスタム認証ロジックを使用する
- 21. クッキー認証を使用するプロジェクトでの基本認証
- 22. カスタムページで認証するAuth0
- 23. VSTS vssClientCredentialsで認証する
- 24. マップネットワークドライブバッチスクリプトと非ドメインユーザーの問題
- 25. コンソールアプリケーションからASP.Netフォーム認証Webサイトで認証する
- 26. JavaScript認証(認証ではない)
- 27. Java認証でのGoogle認証httpトークン
- 28. ドメインユーザーのプライマリグループではなく、ローカルグループを取得する
- 29. 認証マネージャーで認証ハンドラを切り替える
- 30. Angular2 SPAでAZUREを使用して認証し、Expressでエンドポイントを認証する
あなたは決してそのようなすべての例外を捕まえるべきではありません... COMExceptionは、あなたがキャッチしようとしているようにLDAPサーバにアクセスできないときにスローされるものです。 –