LDAP Auth Problem - COM interop

C

Chris Davoli

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 AND after that is the error stack.:

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
--
Server Error in '/FormsAuthAd' Application.
--------------------------------------------------------------------------------

The requested authentication method is not supported by the server
Description: An unhandled exception occurred during the execution of the
current web request. Please review the stack trace for more information about
the error and where it originated in the code.

Exception Details: System.Runtime.InteropServices.COMException: The
requested authentication method is not supported by the server

Source Error:


Line 22: 'Try
Line 23: 'Bind to the native AdsObject to force authentication.
Line 24: Dim obj As Object = entry.NativeObject
Line 25: Dim search As DirectorySearcher = New
DirectorySearcher(entry)
Line 26:


Source File: C:\Inetpub\wwwroot\FormsAuthAd\LdapAuthentication.vb Line: 24

Stack Trace:


[COMException (0x80072027): The requested authentication method is not
supported by the server]
System.DirectoryServices.DirectoryEntry.Bind(Boolean throwIfFail)
System.DirectoryServices.DirectoryEntry.Bind()
System.DirectoryServices.DirectoryEntry.get_NativeObject()
FormsAuthAd.FormsAuth.LdapAuthentication.IsAuthenticated(String domain,
String username, String pwd) in
C:\Inetpub\wwwroot\FormsAuthAd\LdapAuthentication.vb:24
ASP.Logon_aspx.Login_Click(Object sender, EventArgs e) in
c:\inetpub\wwwroot\FormsAuthAd\logon.aspx:21
System.Web.UI.WebControls.Button.OnClick(EventArgs e)

System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
sourceControl, String eventArgument)
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData)
System.Web.UI.Page.ProcessRequestMain() +1292
 
J

Joe Kaplan

Is the XP box a member of the AD domain, or is it a standalone workgroup
machine? Are there any important network restrictions between the machine
and AD (such as Kerberos being blocked at the firewall or some other goofy
thing)?

Joe K.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,007
Latest member
obedient dusk

Latest Threads

Top