直播中
在 IIS 5.0 的安全性身分驗證機(jī)制中, 整合的 Windows 驗證 (在 IIS 4.0 號做 Windows NT 挑戰(zhàn)與回應(yīng)) 是一個不歹的選擇, 很簡單的一個方法就可以達(dá)到一定水準(zhǔn)的安全性, 而且可以整合 Windows 2000 的使用者, 不過有一好無兩好, 缺點(diǎn)是沒有一個很好的線上更改密碼機(jī)制, 所以今天就要來介紹如何透過 ASP 來更改 NT 使用者密碼
HTML 部分
當(dāng)一個使用者登入你網(wǎng)站的安全區(qū)域, 你就可以利用 ServerVariables 集合中的 LOGIN_USER 來了解登入的使用者帳號, 當(dāng)然記得要把允許匿名登入選項關(guān)閉, 現(xiàn)在就先來看 HTML 部分
<form action="changepwd.asp" method="post">
<!-- 為了不讓使用者自己輸入帳號所以使用隱藏 -->
<input type="hidden" name="UserName"
value="<%=Request.ServerVariables("LOGIN_USER")%>">
<br>輸入舊密碼 : <input name="OldPwd">
<br>輸入新密碼 : <input name="NewPwd1">
<br>確認(rèn)新密碼 : <input name="NewPwd2">
<input type="submit" value=" 變更密碼 ">
</form>
程式碼
接下來是 ASP 的部分, 看看如何透過 ADSI 來修改 WIndows 2000 使用者帳號, 將下底的程式碼存成 changepwd.asp 檔名
<%
OldPwd = Request.Form("OldPwd")
NewPwd1 = Request.Form("NewPwd1")
NewPwd2 = Request.Form("NewPwd2")
UserName = Request.Form("UserName")
If NewPwd1 = NewPwd2 Then
Set oUser = GetObject("WinNT://ComputerName/" & UserName)
oUser.ChangePassword OldPwd, NewPwd1
oUser.SetInfo
Set oUser = Nothing
Else
Response.Write "請再確認(rèn)你的密碼"
End If
%>
希望這篇文章對你有幫助!