模拟域验证@using(Html.BeginForm()){

用户名:@Html.TextBox("UserName")

旧密码:@Html.P" />

Asp.Net模拟域验证登录及密码修改

系统 1398 0

示例代码为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(); }

Asp.Net模拟域验证登录及密码修改


更多文章、技术交流、商务合作、联系博主

微信扫码或搜索:z360901061

微信扫一扫加我为好友

QQ号联系: 360901061

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描下面二维码支持博主2元、5元、10元、20元等您想捐的金额吧,狠狠点击下面给点支持吧,站长非常感激您!手机微信长按不能支付解决办法:请将微信支付二维码保存到相册,切换到微信,然后点击微信右上角扫一扫功能,选择支付二维码完成支付。

【本文对您有帮助就好】

您的支持是博主写作最大的动力,如果您喜欢我的文章,感觉我的文章对您有帮助,请用微信扫描上面二维码支持博主2元、5元、10元、自定义金额等您想捐的金额吧,站长会非常 感谢您的哦!!!

发表我的评论
最新评论 总共0条评论