当前位置: 首页 > 图文教程 > 网络编程 > ASP > 透过ASP修改NT使用者的密码

ASP
自动清空站点目录下所有文件
ASPEMAIL通过Mdaemon的SMTP发信-recipient unknow处理办法
使用split分割多字符的字符串的方法
ASP调用oracle存储过程
ASP访问INTERBASE数据库
利用Session限制重复操作的简单方法
一个socket组件及其调用方法
ASP模仿asp.net的DataGrid
利用ASP技术实现文件直接上传功能
微软建议的ASP性能优化28条守则
温柔的杀手—跨站ASP Script攻击
aspjpeg组件高级使用方法介绍
asp+sqlserver 分页方法(不用存储过程)
Windows 2003上传文件不能超过200k解决方法
一个比较实用的asp函数集合类
WebClasses使注册变得容易
ASP对FoxPro自由表(DBF文件)的操作
HTTP_REFERER的工作方式
抓取动网论坛Email地址的一段代码
ASP+FSO+框架实现ASP生成htm并分页的方法(批量)

透过ASP修改NT使用者的密码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-03   浏览: 63 ::
收藏到网摘: n/a

  使用者登入機制在未來的網頁開發會顯得越來越重要, 很簡單的道理, 因為現在的網站很著急的要做好會員管理, 然後向會員收錢, 其實這是很正常的代誌, 台灣的公司法說的很清楚嘛, 『公司以營利為目的』

在 IIS 5.0 的安全性身分驗證機制中, 整合的 Windows 驗證 (在 IIS 4.0 號做 Windows NT 挑戰與回應) 是一個不歹的選擇, 很簡單的一個方法就可以達到一定水準的安全性, 而且可以整合 Windows 2000 的使用者, 不過有一好無兩好, 缺點是沒有一個很好的線上更改密碼機制, 所以今天就要來介紹如何透過 ASP 來更改 NT 使用者密碼





HTML 部分

當一個使用者登入你網站的安全區域, 你就可以利用 ServerVariables 集合中的 LOGIN_USER 來了解登入的使用者帳號, 當然記得要把允許匿名登入選項關閉, 現在就先來看 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>確認新密碼 : <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 "請再確認你的密碼"
End If
%>

希望這篇文章對你有幫助!