Sharepoint增加修改密码功能
Sharepoint中没有自带的修改密码的功能。
如果使用的是AD验证,修改密码,只要修改域帐号的用户名密码就可以了。以下代码可以修改本机密码和域帐号密码。
做法是,添加一个webpart,做一个页面,在右上角的Site Settings里面添加一个菜单项目,链接到修改密码页面。
//ChangeADUserPassword("ADName", "Name", "oldPwd", "newPwd")
public string ChangeADUserPassword(string DomainName, string UserName, string oldPass, string newPass)
{
try
{
string strLDAP = "LDAP://" + DomainName;
string fullLoginName = DomainName + "\\" + UserName;
using (DirectoryEntry bjDE = new DirectoryEntry(strLDAP, DomainName + "\\" + UserName, oldPass))
{
DirectorySearcher deSearcher = new DirectorySearcher(objDE);
deSearcher.Filter = "(&(objectClass=user)(sAMAccountName=" + UserName + "))";
DirectoryEntry usr = deSearcher.FindOne().GetDirectoryEntry();
usr.Invoke("ChangePassword", new Object[] { oldPass, newPass });
usr.CommitChanges();
}
return ("Change domain user password successed!");
}
catch (Exception ex)
{
return ("Change domain user password failed, error message:" + ex.Message);
}
}
public static string ChangeLocalUserPassword(string LocalHostName, string UserName, string oldPass, string newPass, string AdminName, string AdminPass)
{
try
{
DirectoryEntry AD = new DirectoryEntry("WinNT://" + LocalHostName + ",computer");
DirectoryEntry NewUser = AD.Children.Find(UserName);
NewUser.Invoke("SetPassword", new object[] { newPass });
NewUser.CommitChanges();
return ("Change local machine password successed!");
}
catch (Exception ex)
{
return ("Change local machine password failed, error message:" + ex.Message);
}
} //whether the machine name and AD name is the same to deside use which method to change the password.
if (Environment.MachineName == Environment.UserDomainName)
{
SPSecurity.RunWithElevatedPrivileges(delegate() { lblErrorMessage.Text = ChangeLocalUserPassword(Environment.MachineName, lblMessage.Text.Substring(, lblMessage.Text.IndexOf(" ")), txtOldPassword.Text, txtNewPassword.Text, "", ""); });
}
else
{
lblErrorMessage.Text = ChangeADUserPassword(Environment.UserDomainName, Environment.UserName, txtOldPassword.Text, txtNewPassword.Text);
}
参考博客地址:http://www.cnblogs.com/dosboy/archive/2007/08/01/838859.html
Sharepoint增加修改密码功能的更多相关文章
- SSH 基于ajax实现修改密码功能步骤梳理
1. 为密码输入框进行输入校验,使用easyUI提供的easyui-validatebox <table cellpadding=3> <tr> <td>新密码:& ...
- Web实现数据库链接的登录注册修改密码功能
/** * Copyright (C), 2017-2017 * FileName: User * Author: ichimoku * Date: 2017/12/5 14:31 * version ...
- JavaWeb网上图书商城完整项目--day02-19.修改密码功能流程分析
我们来看看修改密码的业务流程操作:
- SharePoint中修改密码的WEB Part之终极版:即可以修改AD,又可以修改本机用户密码的Web Part!!
转:http://www.cnblogs.com/dosboy/archive/2007/08/01/838859.html 在网上查了那么多SharePoint密码修改的第三方开发,都有问题.总结下 ...
- Django form表单功能的引用(注册,复写form.clean方法 增加 验证密码功能)
1. 在app下 新建 forms.py 定义表单内容,类型models from django import forms class RegisterForm(forms.Form): userna ...
- sharepoint服务器修改密码后出现HTTP Error 503
HTTP Error 503 解决办法: 更改sharepoint 网站应用程序池标示后,更改标示重新输入管理员密码,问题解决!
- js用户修改密码功能模块
;(function(){ var ajaxSub = false, showError = function(msg){ if(msg){ $('#er_txt').html(msg).show() ...
- Yii2 实现修改密码功能
YII2对密码加密生成的结果是不同的,即用相同的初始密码在不同时间得到的加密结果不同,所以我们不能用常用的方法去验证密码是否正确(将密码加密后与数据库中的密码相比较).YII2有自己的加密以及密码验证 ...
- Liferay 6.2 改造系列之七:关闭使用条款确认、密码提醒、新用户强制修改密码等功能
关闭使用条款确认: 在/portal-master/portal-impl/src/portal.properties配置文件中,有如下配置: # # Set this to true if all ...
随机推荐
- 封装系统自带的Debug
Unity3d的Debug.Log函数用于打印日志,一般项目中都会对其作如下两件事情: (1)希望有一个总的开关来控制整个游戏中日志的打印与否: (2)有的系统会将Log封一层并添加统一的标记,比如S ...
- ef 更新导航属性
总之,要让所有的东西,都被DbContext管理状态 1.查出来,改了,再提交 2.new 出来,attach,再改,再提交 以上两种都较好理解 3.new出来,改了,再attach,在改状态,再提交 ...
- solrcloud使用中遇到的问题及解决方式
首先声明,我们团队在使用solrcloud过程中踩了一些坑,同事(晓磊和首富)进行了总结,我列到我的博客上做记录用: Q:为什么Solr里面的时间比数据库里面早8小时? Solr默认采用的时区是UTC ...
- 《你不知道的javascript》一、函数作用域和块作用域
函数中的作用域 所谓函数作用域,就是属于这个函数的全部变量都可以在整个函数的范围内使用及复用. function foo(a) { var b=a; function bar(c){ var c=b* ...
- jQuery源码分析之=>jQuery的定义
最近写前段的代码比较多,jQuery是用的最多的一个对象,但是之前几次看了源码,都没搞清楚jQuery是怎么定义的,今天终于看明白怎么回事了.记录下来,算是一个新的开始吧. (文中源码都是jQuery ...
- 移动端手势库Hammer.js学习
感觉移动端原生支持的 touch.tap.swipe 几个事件好像还不够用,某些时候还会用到诸如缩放.长按等其他功能. 近日学习了一个手势库 Hammer.js,它是一个轻量级的触屏设备手势库,能识别 ...
- JavaScript 的数据类型 相关知识点
(1)基本数据类型介绍 JavaScript的数据类型分为两类:原始类型(primitive type)和对象类型(object type) 或者说是:可以拥有方法的类型和不能拥有方法的类型 或者说是 ...
- Insus Search Utility Ver2
一个搜索组件,虽然不是很强大,但它到现在为止,已经是第二个版本了.前一版本:http://www.cnblogs.com/insus/archive/2011/03/30/1999759.html此版 ...
- css3中的zoom元素属性值测试
在样式表里头看到zoom:1的设置,很是好奇就去找了一些资料发现关于这个的讲述还是比较少. 理论知识 语法: zoom:normal | <number> | <percentage ...
- C#开发体感游戏 Kinect应用知识
Kinect首先是一个XBox 360外接体感设备,通过无线方式捕捉动作感知.由PrimeSense提供Range Camera技术,同类产品如任天堂Wii.Play Station Move,必须让 ...