Re: LDAP Auth Problem - COM interop
- From: "Joe Kaplan" <joseph.e.kaplan@xxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Thu, 14 Sep 2006 17:10:54 -0500
There should be more details of the COM error in the stack trace. Can you
provide that? Also, that sample from MS kind of sucks. We have a much
better one in our book (IMO) in ch 12. Ch 12 isn't the free chapter from
the website, but the code samples are there for download.
LDAP auth is a thorny problem that can get you into trouble. Are you sure
you need to do it this way? Also, can you use the .NET 2.0
ActiveDirectoryMembershipProvider instead?
Joe K.
--
Joe Kaplan-MS MVP Directory Services Programming
Co-author of "The .NET Developer's Guide to Directory Services Programming"
http://www.directoryprogramming.net
--
"Chris Davoli" <ChrisDavoli@xxxxxxxxxxxxxxxxxxxxxxxxx> wrote in message
news:7A98D5F7-9CA5-4471-9A14-3BB8AFCCCB52@xxxxxxxxxxxxxxxx
Environment: Win XP, VS2003, Active Directory
I'm trying to use LDAP to authenticate users. I used article
http://support.microsoft.com/?id=326340
How to authenticate against the Active Directory by using forms
authentication and Visual Basic .NET, but am having a COM interop error
when
I do the IsAuthenticated try to create an object entry.NativeObject ie;
Dim
obj As Object = entry.NativeObject
The COM interop error is <error: an exception of type:
{System.Runtime.InteropServices.COMException} occurred>
I'm thinking that there is some kind of COM component that is either not
registered, or not there.
Can anyone help me?
Here is the code:
Public Function IsAuthenticated(ByVal domain As String, ByVal
username As String, ByVal pwd As String) As Boolean
Dim domainAndUsername As String = domain & "\" & username
Dim entry As DirectoryEntry = New DirectoryEntry(_path,
domainAndUsername, pwd)
Try
'Bind to the native AdsObject to force authentication.
Dim obj As Object = entry.NativeObject
Dim search As DirectorySearcher = New
DirectorySearcher(entry)
search.Filter = "(SAMAccountName=" & username & ")"
search.PropertiesToLoad.Add("cn")
Dim result As SearchResult = search.FindOne()
If (result Is Nothing) Then
Return False
End If
'Update the new path to the user in the directory.
_path = result.Path
_filterAttribute = CType(result.Properties("cn")(0),
String)
Catch ex As Exception
Throw New Exception("Error authenticating user. " &
ex.Message)
End Try
Return True
End Function
--
Chris Davoli
.
- Follow-Ups:
- Re: LDAP Auth Problem - COM interop
- From: Chris Davoli
- Re: LDAP Auth Problem - COM interop
- Prev by Date: Re: MembershipProvider, ADAM and userProxy
- Next by Date: Custom Membership Provider with multi databases
- Previous by thread: Re: MembershipProvider, ADAM and userProxy
- Next by thread: Re: LDAP Auth Problem - COM interop
- Index(es):
Relevant Pages
|
|