B
Bindu
I try the following code in asp.net to authenticate nt
userid and password against active directory. I am using
System.Directoryservices component. The problem is that
soemtimes this authenticates, sometimes this doesn't. I
get the following error sometimes eventhough I put my
correct userid and password. Please help.
***********************************************************
The credentials supplied conflict with an existing set of
credentials.
***********************************************************
Code
*********************************************************
Imports System.DirectoryServices
Public Class _default
Inherits System.Web.UI.Page
Private Sub Page_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Try
'Put user code to initialize the page here
Dim arrId As Array
arrId = Split(Request.ServerVariables
("LOGON_USER"), "\")
txtUserName.Text = arrId(1)
Catch ex As Exception
lblMessage.Text = ex.Message
End Try
End Sub
Public Function AuthenticateUser(ByVal strdomain As
String, ByVal strusername As String, ByVal strpwd As
String) As Boolean
Dim dirEntry As DirectoryEntry
Dim strNameEntry As String
' Try to get the Name property from the AD. If you
can do this with the(current)
' User ID and Password, then the credentials must
be OK.
Try
Dim strdomainAndUsername As String = strdomain
& "\" & strusername
Dim strpath As String = "WinNT://" & strdomain
dirEntry = New DirectoryEntry(strpath,
strdomainAndUsername, strpwd)
strNameEntry = dirEntry.Properties
("Name").ToString
Catch ex As Exception
lblMessage.Text = ex.Message
Return False
End Try
Return True
End Function
Private Sub btnLogin_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btnLogin.Click
Try
Dim arrId As Array
arrId = Split(Request.ServerVariables
("LOGON_USER"), "\")
Dim isNTAuth As Boolean
'isNTAuth = AuthenticateUser(arrId(1),
txtPassword.Text, arrId(0))
'isNTAuth = IsAuthenticated(arrId(0), arrId
(1), txtPassword.Text)
isNTAuth = AuthenticateUser(arrId(0), arrId
(1), txtPassword.Text)
If isNTAuth Then
Session.Add("ValidUser", True)
Response.Redirect
("Prepare_Approve_Email/prepare_approve_email.aspx")
Else
Session.Add("ValidUser", False)
lblMessage.Text = lblMessage.Text
& "<br>The userid and password do not match, please retry.
Thank you"
End If
Catch ex As Exception
lblMessage.Text = ex.Message
End Try
End Sub
End Class
*********************************************************
userid and password against active directory. I am using
System.Directoryservices component. The problem is that
soemtimes this authenticates, sometimes this doesn't. I
get the following error sometimes eventhough I put my
correct userid and password. Please help.
***********************************************************
The credentials supplied conflict with an existing set of
credentials.
***********************************************************
Code
*********************************************************
Imports System.DirectoryServices
Public Class _default
Inherits System.Web.UI.Page
Private Sub Page_Load(ByVal sender As System.Object,
ByVal e As System.EventArgs) Handles MyBase.Load
Try
'Put user code to initialize the page here
Dim arrId As Array
arrId = Split(Request.ServerVariables
("LOGON_USER"), "\")
txtUserName.Text = arrId(1)
Catch ex As Exception
lblMessage.Text = ex.Message
End Try
End Sub
Public Function AuthenticateUser(ByVal strdomain As
String, ByVal strusername As String, ByVal strpwd As
String) As Boolean
Dim dirEntry As DirectoryEntry
Dim strNameEntry As String
' Try to get the Name property from the AD. If you
can do this with the(current)
' User ID and Password, then the credentials must
be OK.
Try
Dim strdomainAndUsername As String = strdomain
& "\" & strusername
Dim strpath As String = "WinNT://" & strdomain
dirEntry = New DirectoryEntry(strpath,
strdomainAndUsername, strpwd)
strNameEntry = dirEntry.Properties
("Name").ToString
Catch ex As Exception
lblMessage.Text = ex.Message
Return False
End Try
Return True
End Function
Private Sub btnLogin_Click(ByVal sender As
System.Object, ByVal e As System.EventArgs) Handles
btnLogin.Click
Try
Dim arrId As Array
arrId = Split(Request.ServerVariables
("LOGON_USER"), "\")
Dim isNTAuth As Boolean
'isNTAuth = AuthenticateUser(arrId(1),
txtPassword.Text, arrId(0))
'isNTAuth = IsAuthenticated(arrId(0), arrId
(1), txtPassword.Text)
isNTAuth = AuthenticateUser(arrId(0), arrId
(1), txtPassword.Text)
If isNTAuth Then
Session.Add("ValidUser", True)
Response.Redirect
("Prepare_Approve_Email/prepare_approve_email.aspx")
Else
Session.Add("ValidUser", False)
lblMessage.Text = lblMessage.Text
& "<br>The userid and password do not match, please retry.
Thank you"
End If
Catch ex As Exception
lblMessage.Text = ex.Message
End Try
End Sub
End Class
*********************************************************