在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中获取当前登录用户名,代码如下:
1System.Web.HttpContext context = System.Web.HttpContext.Current;
2string account = this.Page.User.Identity.Name;
3SPUser user spuser;
4SPSite site = SPControl.GetContextSite(context);
5site.CatchAccessDeniedException = false;
6SPWeb web = site.OpenWeb();
7foreach(SPUser user in web.Users)
8{
9 if(user.LoginName.ToLower() == account.ToLower())
10 {
11 spuser = user;
12 }
13}
14
15
16'spuser就是当前用户
2string account = this.Page.User.Identity.Name;
3SPUser user spuser;
4SPSite site = SPControl.GetContextSite(context);
5site.CatchAccessDeniedException = false;
6SPWeb web = site.OpenWeb();
7foreach(SPUser user in web.Users)
8{
9 if(user.LoginName.ToLower() == account.ToLower())
10 {
11 spuser = user;
12 }
13}
14
15
16'spuser就是当前用户
自己还没有写具体的代码,因此还没调试。