LDAP Auth Problem - COM interop

Discussion in 'ASP .Net Security' started by Chris Davoli, Sep 14, 2006.

  1. Chris Davoli

    Chris Davoli Guest

    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
     
    Chris Davoli, Sep 14, 2006
    #1
    1. Advertising

  2. Chris Davoli

    Joe Kaplan Guest

    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" <> wrote in message
    news:...
    > 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
    >
     
    Joe Kaplan, Sep 14, 2006
    #2
    1. Advertising

  3. Chris Davoli

    Chris Davoli Guest

    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" <> wrote in message
    > news:...
    > > 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
    > >

    >
    >
    >
     
    Chris Davoli, Sep 15, 2006
    #3
  4. Chris Davoli

    Chris Davoli Guest

    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" <> wrote in message
    > > news:...
    > > > 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
    > > >

    > >
    > >
    > >
     
    Chris Davoli, Sep 15, 2006
    #4
  5. Chris Davoli

    Joe Kaplan Guest

    That's actually a fairly interesting error (authentication method is not
    supported) and sounds like it could be a weird environment problem. For
    starters, I'd suggest adding "AuthenticationTypes.Secure" into the 4th
    parameter on your DirectoryEntry constructor to see if that changes
    anything. It sounds like there may be an environment issue preventing the
    use of Kerberos or NTLM. It is pretty hard to say and may require doing
    network sniffs to find out. Ick.

    The membership APIs in ASP.NET 2.0 are a new abstraction layer that help
    with the implementation of forms-based authentication and user management
    (creation, password reset, etc.). They use a provider model so that
    different backends like SQL and AD can be plugged in. It is also fully
    customizable, so you can roll your own. The AD implementation has a pretty
    strong implementation of its authentication scheme.

    There is so much info out there about the membership stuff that I hesitate
    to start to recommend anything, but Google is your friend. :) If ASP.NET
    2.0 is available to you, I think you should really be looking at this rather
    than rolling your own forms auth.

    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" <> wrote in message
    news:...
    > 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" <> wrote in message
    >> > news:...
    >> > > 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
    >> > >
    >> >
    >> >
    >> >
     
    Joe Kaplan, Sep 15, 2006
    #5
    1. Advertising

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

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. =?Utf-8?B?Q2hyaXMgTW9oYW4=?=

    Configuring Windows Auth & Forms Auth in Asp.Net

    =?Utf-8?B?Q2hyaXMgTW9oYW4=?=, Apr 28, 2004, in forum: ASP .Net
    Replies:
    0
    Views:
    743
    =?Utf-8?B?Q2hyaXMgTW9oYW4=?=
    Apr 28, 2004
  2. =?Utf-8?B?ZGhucml2ZXJzaWRl?=

    Windows Auth, but Forms Auth for one page?

    =?Utf-8?B?ZGhucml2ZXJzaWRl?=, Jan 8, 2005, in forum: ASP .Net
    Replies:
    1
    Views:
    600
    Elton Wang
    Jan 8, 2005
  3. Mark Chai
    Replies:
    1
    Views:
    753
    Christophe Vanfleteren
    Oct 1, 2003
  4. Chris Mohan

    Configuring Windows Auth & Forms Auth in Asp.Net

    Chris Mohan, Apr 28, 2004, in forum: ASP .Net Security
    Replies:
    2
    Views:
    465
    Chris Mohan
    Apr 29, 2004
  5. Chris Davoli

    LDAP Auth Problem - COM interop

    Chris Davoli, Sep 16, 2006, in forum: ASP .Net Security
    Replies:
    1
    Views:
    553
    Joe Kaplan
    Sep 16, 2006
Loading...

Share This Page