Re: LDAP Auth Problem - COM interop
- From: Chris Davoli <ChrisDavoli@xxxxxxxxxxxxxxxxxxxxxxxxx>
- Date: Fri, 15 Sep 2006 13:11:01 -0700
Actually here is the error message...
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
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET
Version:1.1.4322.2032
--
Chris Davoli
"Chris Davoli" wrote:
Joe,.
below is the error. Is there anything you can think of?
Also, I am going to buy the book this weekend.
Can I download these samples from chapter 12?
What is this .Net 2.0 ActiveDirectoryMembershipProvider? Where can I find
some info on it?
Chris
Server Error in '/FormsAuthAd' Application.
--------------------------------------------------------------------------------
Error authenticating user. 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.Exception: Error authenticating user. The
requested authentication method is not supported by the server
Source Error:
Line 38:
Line 39: Catch ex As Exception
Line 40: Throw New Exception("Error authenticating user. " &
ex.Message)
Line 41: End Try
Line 42:
Source File: C:\Inetpub\wwwroot\FormsAuthAd\LdapAuthentication.vb Line: 40
Stack Trace:
[Exception: Error authenticating user. The requested authentication method
is not supported by the server]
FormsAuthAd.FormsAuth.LdapAuthentication.IsAuthenticated(String domain,
String username, String pwd) in
C:\Inetpub\wwwroot\FormsAuthAd\LdapAuthentication.vb:40
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
--------------------------------------------------------------------------------
Version Information: Microsoft .NET Framework Version:1.1.4322.2032; ASP.NET
Version:1.1.4322.2032
--
Chris Davoli
"Joe Kaplan" wrote:
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: Joe Kaplan
- Re: LDAP Auth Problem - COM interop
- References:
- Re: LDAP Auth Problem - COM interop
- From: Joe Kaplan
- Re: LDAP Auth Problem - COM interop
- From: Chris Davoli
- Re: LDAP Auth Problem - COM interop
- Prev by Date: Re: LDAP Auth Problem - COM interop
- Next by Date: RE: LDAP Auth Problem - COM interop
- Previous by thread: Re: LDAP Auth Problem - COM interop
- Next by thread: Re: LDAP Auth Problem - COM interop
- Index(es):