現在、ユーザーはADに対して検証されたAD(Active Directory)資格情報を使用してWebアプリケーションにログインします。アプリケーションの内部に入ると、特定のユーザーはADを更新する必要があります。ユーザー名/パスワードをハードコードすると、ADを更新することができますが、オブジェクトにログオン資格情報を使用させようとすると、ユーザー名/パスワードを指定しないとエラーが発生します。明らかにセキュリティ上の懸念から、私は資格情報をハードコードしたくありません。これには解決策がありますか?ユーザー名/パスワードをハードコードしないでActive Directoryを更新する
エラー - System.DirectoryServices.DirectoryServicesCOMException:操作エラーが発生しました。
Public Shared Sub SetProperty(ByVal de As DirectoryEntry, ByVal propName As String, ByVal propValue As String)
If Not propValue Is Nothing Then
If de.Properties.Contains(propName) Then
de.Properties(propName)(0) = propValue
Else
de.Properties(propName).Add(propValue)
End If
End If
End Sub
Public Shared Function GetDirectoryEntry(ByVal path As String) As DirectoryEntry
Dim de As New DirectoryEntry()
de.Path = path
de.Username = "<username>"
de.Password = "<password>"
'Not setting the username or password or setting both to Nothing throws the error
de.AuthenticationType = AuthenticationTypes.Secure
Return de
End Function
Dim de As DirectoryEntry = GetDirectoryEntry("<path>")
Dim searcher As DirectorySearcher = New DirectorySearcher(de)
searcher.Filter = "(&(objectCategory=person)(objectClass=user)(cn=" & fullName & "))"
searcher.SearchScope = SearchScope.SubTree
Dim result As SearchResult = searcher.FindOne()
If Not result Is Nothing Then
Dim deResult As New DirectoryEntry(result.Path)
SetProperty(deResult, "accountExpires", toAccountExpirationDate)
deResult.CommitChanges()
deResult.Close()
End If
de.Close()
これはwinformsまたはasp.netでですか? –
それはasp.netだ、私はタグを更新します。 –