Версия для печати темы

Нажмите сюда для просмотра этой темы в оригинальном формате

WinCity.Ru _ Программирование _ Меняем пароль в АД через веб интерфейс

Автор: 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

%>



Если есть предложения, замечания или вопросы ..... милости просим ..... ;-)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)