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 ...
随机推荐
- C#基础总结之三循环控制-for-数组-乘法表-arraylist
#region 第三天 作业 乘法表 ////正三角 //for (int i = 1; i < 10; i++) //{ // for (int j = 1; j <= i; j++) ...
- ruby -- 进阶学习(十五)friendly_id配置
实现效果:http://127.0.0.1:3000/article/1 => http://127.0.0.1:3000/article/书名 (1)Rails 4.0的friendly_ ...
- Asp.Net(C#)自动执行计划任务的程序实例分析
在业务复杂的应用程序中,有时候会要求一个或者多个任务在一定的时间或者一定的时间间隔内计划进行,比如定时备份或同步数据库,定时发送电子邮件等,我们称之为计划任务.实现计划任务的方法也有很多,可以采用SQ ...
- C#中处理耗时任务的几种方式
0.准备 首先,我们先创建几个耗时任务: public class TestTasks { //无参.无返回值任务 public void Task1() { Console.WriteLine(&q ...
- Connecting my Particle Photon Internet of Things device to the Azure IoT Hub(Translation)
原文: http://www.hanselman.com/blog/ConnectingMyParticlePhotonInternetOfThingsDeviceToTheAzureIoTHub.a ...
- 【初识 JQMobile 小小总结】
作为一个前端新手,之前还没有接触过手机端的项目.两周前项目经理告诉我要做手机端,让我用JQMobile. 之前在前端群里,偶尔听说过jqmobile很坑,自己又查了下其他框架,比如zepto.amaz ...
- 禁用mac Command w
事情是这样的:历经各种调查,终于定位到了一个bug,正在我准确Command + 数字 切换下iterm2的窗口时,让我懵逼的事情发生了,我们终端不见了,对不见了.心里万马奔腾啊.什么鬼?原来自己误按 ...
- 【第〇课】用更好的IDE开发
推荐的IDE IntelliJ IDEA JetBrains是一家捷克的软件开发公司,这家公司做出了很多的优秀的IDE,有写python的.php的.web前端的……IDEA就是其中一款非常优秀的ja ...
- 【Win10】让 TextBlock 按字符换行
要想将 TextBlock 里的文本自动换行的话,只需要设置 TextWrapping 属性为 Wrap 即可. 但是 TextWrapping 是尽可能根据空白字符来换行的,因此,就有可能出现下面这 ...
- MVC怎么在当前视图中,传递参数给到另外一个视图?
在TransData.cshtml视图中: <div> <!--在一个视图中,请求另外一个视图,并且将数据传到另外一个视图--> <!--视图中调用无返回值的方法,需要加 ...