示例代碼為Asp.Net MVC程序,僅供參考!
需要引用命名空間:
using
System.DirectoryServices;
Login.cshtml代碼:
@{ ViewBag.Title = "模擬域驗證"; Layout = "~/Views/Shared/_Layout.cshtml"; }
<
h2
>
模擬域驗證
</
h2
>
@using (Html.BeginForm()) {
<
p
>
用戶名:@Html.TextBox("UserName")
</
p
>
<
p
>
舊密碼:@Html.Password("OldPassword")
</
p
>
<
p
>
新密碼:@Html.Password("NewPassword")
</
p
>
<
p
><
input
type
="submit"
value
="登錄"
/></
p
>
} @ViewData["Msg"]
cs代碼:
[AcceptVerbs(HttpVerbs.Post)] [ValidateInput(
false
)]
public
ActionResult Login(
string
UserName,
string
OldPassWord,
string
NewPassWord) { DirectoryEntry AD
=
new
DirectoryEntry(); AD.Path
=
string
.Format(
"
LDAP://{0}
"
, IPAddress); AD.Username
=
"
domain
"
+
@"
\
"
+
UserName; AD.Password
=
OldPassWord; AD.AuthenticationType
=
AuthenticationTypes.Secure;
try
{ DirectorySearcher searcher
=
new
DirectorySearcher(AD); searcher.Filter
=
String.Format(
"
(&(objectClass=user)(samAccountName={0}))
"
, UserName); System.DirectoryServices.SearchResult result
=
searcher.FindOne();
if
(result
!=
null
) { DirectoryEntry userEntry
=
result.GetDirectoryEntry();
if
(userEntry
!=
null
) {
try
{ userEntry.Invoke(
"
ChangePassword
"
,
new
Object[] { OldPassWord, NewPassWord }); userEntry.CommitChanges(); userEntry.Close(); ViewData[
"
Msg
"
]
=
"
修改密碼成功!
"
; }
catch
(Exception ex) { ViewData[
"
Msg
"
]
=
"
操作失敗,錯誤原因:
"
+
ex.ToString(); } } }
else
{ ViewData[
"
Msg
"
]
=
"
操作失敗,未知賬號或密碼錯誤!
"
; } AD.Close(); }
catch
(Exception ex) { ViewData[
"
Msg
"
]
=
"
操作失敗,錯誤原因:
"
+
ex.ToString(); }
return
View(); }
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061
微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元

