示例代码为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身份验证与授权的讲解 ASP.NET应用程序安全概述 用户账户模拟 基于Windows的身份验证 基于表单的身份验证 ASP.NET 2.0的成员资格和角色管理器 安全性相关的控件 ASP.NET网站管理工具 成员资格和角色...
asp.net webapi2 基于token令牌的身份验证 通过浏览器模拟附加token的headers请求授权
微信认证流程(我自己简称三次握手)...因为第一步必须要经过微信的登录授权,不能网页后端请求,所以先要经过用户同意,通过页面网页请求组装的微信请求链接。请求该链接, 获取code后,后端模拟请求。获取用户信息。
全面系统地介绍了ASP.NET 2.0应用开发技术,包括ASP.NET 2.0服务器控件,ASP.NET 2.0数据源控件和新的数据绑定方法,验证控件,样式、外观和主题,母版页,站点导航和导航控件,ASP.NET 2.0的身份验证、授权和模拟,...
ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项:一个数据库设计快速指南的附录。本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的ASP.NET...
ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项;一个数据库设计快速指南的附录。 本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的ASP...
本书主要介绍.net平台和asp.net;...比较asp和asp.net;asp.net中的事件;...基本的asp控件apl;...asp.net中用于验证、授权和模拟的安全选项;asp.net中的配置和部署选项:一个数据库设计快速指南的附录。
ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项:一个数据库设计快速指南的附录。. 《Programming ASP.NET 中文版(第3版)》对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地...
ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项:一个数据库设计快速指南的附录。. 《Programming ASP.NET 中文版(第3版)》对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色...
ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项;一个数据库设计快速指南的附录。 本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的ASP...
ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项;一个数据库设计快速指南的附录。 本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的ASP...
ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项;一个数据库设计快速指南的附录。\r\n 本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的...
ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项;一个数据库设计快速指南的附录。 本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的ASP...
微软ASP.NET入门教程 .DOC文档(解压后13M,可直接打印,共300页) 入门 介绍 什么是 ASP.NET? 语言支持 ASP.NET Web 窗体 Web 窗体介绍 使用服务器控件 对控件应用样式 服务器控件窗体验证 Web 窗体用户...
第4章 ASP.NET的网页代码模型及生命周期 从本章开始,就进入了ASP.NET应用程序开发的世界。在了解了C#的结构,以及面向对象的概念后,就可以从面向对象的思想开发ASP.NET应用程序。在ASP.NET中,能够使用面向对象的...
本书主要介绍.net平台和asp.net;...比较asp和asp.net;asp.net中的事件;...基本的asp控件apl;...asp.net中用于验证、授权和模拟的安全选项;asp.net中的配置和部署选项:一个数据库设计快速指南的附录。
本书主要介绍.net平台和asp.net;...比较asp和asp.net;asp.net中的事件;...基本的asp控件apl;...asp.net中用于验证、授权和模拟的安全选项;asp.net中的配置和部署选项:一个数据库设计快速指南的附录。.
Programming ASP.NET 中文版(第3版)(part2) <br>本书主要介绍.NET平台和ASP.NET;...比较ASP和ASP.NET;...ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项;一个数据库设计快速指南的附录。
Programming ASP.NET 中文版(第3版)(part1) <br>本书主要介绍.NET平台和ASP.NET;...比较ASP和ASP.NET;...ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项;一个数据库设计快速指南的附录。
ASP.NET中用于验证、授权和模拟的安全选项;ASP.NET中的配置和部署选项;一个数据库设计快速指南的附录。 本书对于ASP.NET 2.0技术和Visual Studio 2005进行了全面讲解,出色地囊括了读者在实际编程中会用到的ASP...