在SharePoint中更改当前登录用户的密码
SharePoint Protal 2007已经越来越强了,也让我轻松的给单位部署了一个信息协作平台,不过用户管理方面,包括注册、更改密码一直是它的弱点,虽然可以自己利用.NET、ADSI来写WebPart,但希望以后的版本中能带这些功能,或者Microsoft直接提供
当然现在急用只能自己写了,说实话这两年主要的精力都花在搞网络、系统集成、安全上面去了,编程好久没用,不过通过查阅相信还是难不倒自己的,首先当然是搜集一些关键的CODE了。我现在最需要的是一个能够更改密码的Part,其实现步骤应当是这样的:
1 获得当前页面的登录用户
2 自定义页面输出Html
3 控制用户界面用户操作
4 访问活动目录,修改密码
这里面第1、第4是ADSI编程的关键,就先GOOGLE里查找这方面的资料吧,先收集的是在SharePoint中获取当前登录用户名,代码如下:
自己还没有写具体的代码,因此还没调试。
当然现在急用只能自己写了,说实话这两年主要的精力都花在搞网络、系统集成、安全上面去了,编程好久没用,不过通过查阅相信还是难不倒自己的,首先当然是搜集一些关键的CODE了。我现在最需要的是一个能够更改密码的Part,其实现步骤应当是这样的:
1 获得当前页面的登录用户
2 自定义页面输出Html
3 控制用户界面用户操作
4 访问活动目录,修改密码
这里面第1、第4是ADSI编程的关键,就先GOOGLE里查找这方面的资料吧,先收集的是在SharePoint中获取当前登录用户名,代码如下:
1
System.Web.HttpContext context = System.Web.HttpContext.Current;
2
string account = this.Page.User.Identity.Name;
3
SPUser user spuser;
4
SPSite site = SPControl.GetContextSite(context);
5
site.CatchAccessDeniedException = false;
6
SPWeb web = site.OpenWeb();
7
foreach(SPUser user in web.Users)
8
{
9
if(user.LoginName.ToLower() == account.ToLower())
10
{
11
spuser = user;
12
}
13
}
14
15
16
'spuser就是当前用户
System.Web.HttpContext context = System.Web.HttpContext.Current;2
string account = this.Page.User.Identity.Name;3
SPUser user spuser;4
SPSite site = SPControl.GetContextSite(context);5
site.CatchAccessDeniedException = false; 6
SPWeb web = site.OpenWeb();7
foreach(SPUser user in web.Users)8
{9
if(user.LoginName.ToLower() == account.ToLower())10
{11
spuser = user;12
}13
}14
15
16
'spuser就是当前用户自己还没有写具体的代码,因此还没调试。



浙公网安备 33010602011771号