Solved

VBScript to validate a password with Active Directory

Posted on 2010-11-12
6
2,110 Views
Last Modified: 2012-05-10
I have an internal website that specified users will be able to work in.  I also have an SQL server that stores the usernames in a table of the people that are authorized to use the site.

I want the users to be able to use their Windows password, which is controlled by Active Directory on our domain controller (server2.mydomain.com).

Here's how I need this to go:

1.  User enters a username and password.
2.  Username is checked against the SQL server to ensure the user is authorized to use the site.
3.  Username and Password are validated against Active Directory 2003 to ensure sure they match the user's actual username and password.  If so, the script will return True
4.  If the validation script returns true, a session is created which will last for one hour and extended each time the user accesses a page in the website.
5.  If the session expires, the user will be prompted to login again.

I have no idea how to simply check whether the user entered the correct password.  Can someone help me with the simple script necessary for step 3?

Thanks,
0
Comment
Question by:jamesbcox1980
  • 3
  • 3
6 Comments
 
LVL 65

Expert Comment

by:RobSampson
ID: 34133647
Hi, for this problem, it sounds like you would be better off using Windows Authentication for you ASP pages, which would authenticate any AD user, and *then* you could check if that user was in your SQL database.  If the user was listed, create the session, if not, log them off.

Regards,

Rob.
0
 
LVL 4

Author Comment

by:jamesbcox1980
ID: 34136173
Is there no way to simply verify a password with AD?
0
 
LVL 65

Accepted Solution

by:
RobSampson earned 500 total points
ID: 34141448
Well you can try this function in your code, and see how you go.

Regards,

Rob.
strUser = txtUser.Value
strPW = txtPW.Value
boolAuthenticated = AuthenticateUser(strUser, strPW)
If boolAuthenticated = True Then
	' Check against SQL database
Else
	' User was not authenticated
End If

Function AuthenticateUser(ByVal strUser, ByVal strPW)
	Const ADS_SECURE_AUTHENTICATION = &H1
	Const ADS_SERVER_BIND = &H200

	strPath = "LDAP://RootDSE"

	Set LDAP = GetObject(strPath)
	Set strAuth = LDAP.OpenDSObject(strPath, strUser, strPW, ADS_SECURE_AUTHENTICATION Or ADS_SERVER_BIND)
	If Err.Number <> 0 Then
		boolAuth = False
	Else
		boolAuth = True
	End If
	AuthenticateUser = boolAuth
End Function

Open in new window

0
Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

 
LVL 4

Author Comment

by:jamesbcox1980
ID: 34176574
Sorry I've been out of town. I'll answer a soon as I get back and have a chance to try it.
0
 
LVL 4

Author Closing Comment

by:jamesbcox1980
ID: 34192349
Thanks, worked like a charm
0
 
LVL 65

Expert Comment

by:RobSampson
ID: 34192897
Great.  Thanks for the grade.

Regards,

Rob.
0

Featured Post

Comprehensive Backup Solutions for Microsoft

Acronis protects the complete Microsoft technology stack: Windows Server, Windows PC, laptop and Surface data; Microsoft business applications; Microsoft Hyper-V; Azure VMs; Microsoft Windows Server 2016; Microsoft Exchange 2016 and SQL Server 2016.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Not long ago I saw a question in the VB Script forum that I thought would not take much time. You can read that question (Question ID  (http://www.experts-exchange.com/Programming/Languages/Visual_Basic/VB_Script/Q_28455246.html)28455246) Here (http…
While rebooting windows server 2003 server , it's showing "active directory rebuilding indices please wait" at startup. It took a little while for this process to complete and once we logged on not all the services were started so another reboot is …
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Along with being a a promotional video for my three-day Annielytics Dashboard Seminor, this Micro Tutorial is an intro to Google Analytics API data.

785 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question