手把手教你制作一个修改域密码的Web页面
来源:互联网 发布:淘宝联盟 佣金查询 编辑:程序博客网 时间:2024/06/07 00:39
很多时候我们程序的会员管理功能都是基于Form验证的,但是有些功能强大的程序往往集成在域环境中。Dynamics CRM就是其中之一,那我们能不能像使用Form验证那样简单的通过某个Web页面来修改我们的域用户密码呢?微软早就给我们提供了解决方案了,通过调用.NET的域组件就能对域进行处理了。
为什么要在Web上修改域用户密码?
虽然用户可以在自己的Windows系统上修改密码,但是提供Web的方式将会更灵活,它能让你随时随地的修改你的密码。
实现思路
我们的Web页面需要收集用户的域账号,旧密码以及需要修改的新密码。在确保这些数据有效后,调用.Net组件对目标域发起修改密码的请求。这里唯一的难点是:怎么在域中找到用户的位置。我建议对整个域进行遍历来定位用户位置。虽然有失效率,但不容易出错。
操作界面
图1
图2
图3
图4
核心代码
using System.DirectoryServices; DirectoryEntry de = new DirectoryEntry("LDAP://GhostHouse2011.GH");//域的根路径 de.UsePropertyCache = true; DirectorySearcher searcher = new DirectorySearcher(); searcher.SearchRoot = de; searcher.SearchScope = SearchScope.Subtree; searcher.Filter = string.Format("(&(objectClass=user)(samAccountName={0}))", txtUsername.Text.Trim()); SearchResult result = searcher.FindOne(); if (result == null) { lblResultMessage.Text = "该用户不存在,无法进行密码修改."; } try { result.GetDirectoryEntry().Invoke("ChangePassword", new object[] { txtOldPwd.Text.Trim(), txtNewPwd.Text.Trim() }); lblResultMessage.Text = "密码修改成功"; } catch (Exception ex) { lblResultMessage.Text = "密码修改失败,请检测旧密码是否正确"; }
源码下载
- 手把手教你制作一个修改域密码的Web页面
- 手把手教你制作一个Windows服务
- 手把手教你制作一个Windows服务
- 企业HR必读:玩转招聘H5,手把手教你制作“别人家的H5页面”
- 手把手叫你制作一个精美的在线音乐播放器
- 手把手教你结合seo制作一个新网站
- 手把手教你制作一个可以在skylake上安装win7的U盘
- 手把手教你制作定时器:
- 手把手教你新建一个基于 Maven 的 idea 项目(Web 项目)
- 手把手教你用Java制作原生态的报表
- 手把手教你用Java制作原生态的报表
- 手把手教你修改pcduino系统默认的音频输出
- 手把手教你破解无线路由器密码
- 手把手教你制作手机离线地图
- 手把手教你制作验证码控件
- 手把手教你如何快速制作电子书
- 手把手教你制作Excel抽奖器
- 手把手教你制作Excel抽奖器
- js控制 window对象
- hive的sql解析
- 随即读取B表数据,然后随即更新到A表字段
- 如何遍历C# 中 Dictionary。
- java thread dump相关文章
- 手把手教你制作一个修改域密码的Web页面
- 資源太有限,潛力縂無限。
- asp.net DropDownList中内容伪树状展示
- int转化为string
- 如果你错编译了存储过程,函数,触发器等程序而想恢复过来怎么办呢?
- How to build Windows Android2.3 SDK怎么编译windows下的android2.3 SDK
- 经典语录
- Oracel 从旧表创建新表并复制数据
- testimg