Автор: Levon Четверг, 17 Февраля 2005, 19:13
Привет всем .....для меня не секрет что в ХТМЛ я не бум-бум ...........
И вот появилась мысля создать веб интерфейс, чтобы пользователи в сети могли менять пароль в АД
макет страницы
Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
</head>
<body>
<form action="/cgi-bin/chpass.vbs" method="post" >
Canonical Name: <input type="text" name="cn"><br>
OldPass: <input type="text" name="old"><br>
NewPass: <input type="text" name="new"><br>
<input type="submit" value="Submit">
<input type="reset" value="Reset">
<br>
</form>
</body>
</html>
и соответственно скрипт chpass.vbs куда надо передать параметры и запустить скрипт на сервере
Код
Set objUser = GetObject("LDAP://CN=name, OU=Users, dc=firma, dc=com")
objUser.ChangePassword old, new
Вопрос ...... а как надо подправить скрипт чтобы получать параметры из формы ..... ???
Автор: Ekho Пятница, 18 Февраля 2005, 1:24
как вариант можно генерить ваш скрипт с помощью php и запускать следом.
Автор: Levon Суббота, 05 Марта 2005, 12:51
Все ...... сделал ...... мне нра........
Можете переделать под себя и юзать ......
Получилось так ....
index.asp
Код
<%@ Language=VBScript %>
<HTML>
<HEAD>
<title>AV change Password Web Interface</title>
</HEAD>
<BODY>
<H6>
<FORM action="changepass.asp" method=post name=frmLogin>
<table border=0 cellspacing="2" cellpadding="2" border="0">
<tr>
<td colspan="2">
<H4 align=center>AD Password Change Web interface</H4>
</td>
</tr>
<tr>
<td>User Name:</td>
<%
userName = Request("userName")
if userName="" then
%>
<TD><INPUT name=txtUserName >
<%
else
Response.Write(" <TD><INPUT name=txtUserName value=""" & userName & """ >")
end if
%>
@mydomain.com
</TD></TR>
<TR>
<TD>Old Password</TD>
<TD><INPUT name=txtPassword type=password style="LEFT: 1px; TOP: 3px">
</TD></TR>
<TR>
<TD> New Password </TD>
<TD><INPUT name=txtNewPassword type=password>
</TD></TR>
<TR>
<TD> Confirm Password </TD>
<TD><INPUT name=txtConfPassword type=password>
</TD></TR>
<tr>
<td></td>
<td><INPUT type="submit" value="OK" name=submit1> <INPUT type= "Reset" value="Cancel" name=reset1></td>
</tr>
</table>
</FORM>
</BODY>
</HTML>
Ну и соответственно changepass.asp
Код
<HTML>
<HEAD>
<title>Changing password</title>
</HEAD>
<%@ Language=VBScript %>
<%
dim sUser, sPassword, sCPassword, sConnectString
sUser = request("txtUserName")
sPassword = request("txtPassword")
sNewPassword = request("txtNewPassword")
sConfPassword = request("txtConfPassword")
if sUser = "" then
Response.Write("Fill the user name. ")
Response.Write("<a href=index.asp>Back</a>:")
else
if sNewPassword <> sConfPassword then
Response.Write("New Passwords doesn`t match. ")
Response.Write("<a href=index.asp?userName=" & sUser & "> Try Again</a>:")
else
sConnectString = "LDAP://CN=" & sUser & ", OU=Users, dc=mydomain, dc=com"
on error resume next
Set oUser = GetObject(sConnectString)
if err.Number = -2147016656 then
Response.Write(sUser &"@mydomain.com doesn`t exist, ")
Response.Write("<a href=index.asp>try again")
else
oUser.ChangePassword sPassword, sNewPassword
select case err.Number
case 0
Response.Write(sUser &"@mydomain.com user`s password changed")
case -2147024810
Response.Write("Old password is wrong, ")
Response.Write("<a href=index.asp?userName=" & sUser & ">try again</a>")
case -2147022651
Response.Write("Password doesn`t match AD security settings, ")
Response.Write("<a href=index.asp?userName=" & sUser & ">try again.</a>:")
case else
Response.Write("Unknown error. ")
end select
end if
set oUser = Nothing
end if
end if
%>
Если есть предложения, замечания или вопросы ..... милости просим ..... ;-)