统一管理MOSS2010用户头像

我们都知道MOSS 2010里面的“我的网站”里面有一个上传照片功能,通过那里用户可以方便的上传自己的照片。也可以通过在AD里面上传用户的头像,通过MOSS的 User Profile Service Application 服务进行同步,实现MOSS,Outlook,Lync 头像的统一管理。

但是,今天我们不是讨论通过User Profile Service Application  进行用户头像的同步,那些同步的方法在网上或微软的官方技术论坛上可以搜索到。我们今天要解决的是一个特殊的Case。

CASE:用户希望关闭掉MOSS 2010 里面登陆用户的“我的网站”功能,同时,希望MOSS用户的头像由管理员统一管理,不希望用户自己修改自己的头像。 在AD里面一个一个用户的上传头像太麻烦,不好管理,要求MOSS的事情,要在MOSS里面解决。

SOLUTION: 根据用户的这些需求,我们制定了一个解决方案:

1)建立一个图片库,将图片库设置为匿名访问(其它集成系统可能应用用户头像) ;

2)关闭MOSS 2010 里面用户创建我的网站功能;

3) 写一段代码,设置用户头像地址;

  下面,将逐步的将各个步骤实现进行详细描述:

第一步:设置匿名访问,MOSS2010 里面可以针对某个文档库,图片库或者列表等资源进行开放匿名,而不影响其它。 开启匿名首先要在管理中心先设置一下,如下步骤:

1) 我们来到管理中心 -> 管理web应用程序 -> 点击相应的web应用程序 -> 身份验证提供程序 -> 点击你想要启用匿名访问的区域;

 

 

 

2) 这里, 我们选上启用匿名访问前的复选框, 然后保存;

3)回到web应用程序管理界面后,我们点击匿名策略,这里我们可以赋予匿名用户我们想给的权限;

4) 在管理中心设置完成后,我们回到我们想设置匿名访问的网站,点击网站操作 -> 网站权限 -> 匿名访问, 这里我们设置完相应的范围后点击确定.

 

这样设置完毕后,在图片库就可以开启匿名访问了。如下图:

 

第二步,关闭个人网站创建功能。

首先进入MOSS2010 的管理中心, 在服务程序中进入User Profile Service Application 管理界面,点击管理用户权限,如下图。

 

点击进入管理页面, 按照如图进行设置好,就关闭了个人网站功能了,这样用户就不能修改自己的头像了。

 

 第三步,就是用代码进行批量修改用户的头像设置了。修改用户的头像信息非常简单,只是修改MOSS的用户信息表,MOSS的用户信息是定义在一个隐藏的列表里面的,在MOSS的网站下面,可以用代码的对象模型访问到该列表,SiteUserInfoList列表,从AD同步过来的用户信息就存储在这个列表里面了。了解清楚这些MOSS结构,修改起来就非常的容易了。

static void Main(string[] args)
        {
            try
            {                
                SPSite site = new SPSite(@"http://moss");
                SPList userList = site.RootWeb.SiteUserInfoList;

                SPQuery query = new SPQuery();
                query.Query = "<Where><Eq><FieldRef Name='Name'/><Value Type='Text'>demo\\lubaochun</Value></Eq></Where>";
                SPListItemCollection c = userList.GetItems(query);

                foreach (SPListItem item in c)
                {
                    item["Picture"] = "http://moss/UserPic/lubaochun.jpg";
                    item.Update();
                    System.Console.WriteLine(item["Picture"].ToString());
                }

            }
            catch (Exception ex)
            {
                System.Console.WriteLine(ex.Message);
            }
            System.Console.ReadLine();
        }

上面代码,只是一个小的例子,可以将修改用户图像的做成WebPart,或者一个EventHandler,当上传图片后,自动更新用户的头像等等,我这里只是抛砖引玉,根据自己的项目需求,进行开发,这里就不在多写了。

 再添加一张效果图:

 

转载于:https://www.cnblogs.com/luking/archive/2012/11/08/2759878.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422111.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

php 判断心跳包报错,第29问:MySQL 的复制心跳说它不想跳了

问题最近年末&#xff0c;你们的数据库常常跑批量大事务&#xff0c;会发现复制忽然断开&#xff0c;报错“心跳与本地信息不兼容”&#xff1a; 会是什么缘由&#xff1f;php 实验咱们先来复现一下&#xff0c;再进行分析。html宽油&#xff0c;作一对主从数据库&#xff1a;m…

Linux 常用测试命令

1. cpu info: 2. memory info 3. 下载测试&#xff1a;这里有测试下载文件&#xff1a;wget http://cachefly.cachefly.net/100mb.test 4. 磁盘性能:命令&#xff1a;dd if/dev/zero oftest bs64k count4k oflagdsync 5. cpu负载信息命令&#xff1a;uptime解释&#xff1a; 3个…

UVa11137 Ingenuous Cubrency

原题传送&#xff1a;http://uva.onlinejudge.org/external/111/11137.html 递推&#xff0c;动态规划。 d[i][j]表示使用不超过i的 i 的整数的立方&#xff0c;累加和为 j 的方案数。 则有状态转移方程&#xff1a; d[i][j] d[i - 1][j] d[i][j - i3]。 初始条件d[0][0] 1;…

php jquery模板替换图片,仿jquery插件官网头像更换(原创)

插件描述&#xff1a;一款简单实用的头像更换插件内附有ajax无刷新代码使用方法发布时间&#xff1a;2018-1-25 23:41首先引入jquery:js$(".close,.gb").click(function(){$(".pic_box").animate({top:-1000px},500);}),$(".my_box").click(func…

展示29个美丽的iPhone壁纸

寻找一些最优秀的iPhone壁纸是我们经常要做的工作&#xff0c;iphone的壁纸总是那么好看&#xff0c;关注我博客的人会知道&#xff0c;我经常会发布一些精美的壁纸奉献给大家&#xff0c;今天就发布我精心收藏的美丽壁纸集合&#xff0c; Mind Tree Time & Space TJR Typo…

oracle错误12637,TNS-12537 TNSconnection closed ORA-609错误处理

起因&#xff1a;最近研发反应JDBC和PL/SQL工具连接过慢&#xff0c;昨天事情多懒得去管今早检查alter.log后发现报错Fatal NI connect error12637, connecting to:(LOCALNO)VERSIONINFORMATION:TNS for Linux: Version 11.2.0.1.0 - ProductionOracle Bequeath NT Protocol Ad…

前端学习(603):计算机基础

好久没有学习前端了&#xff0c;开始找找感觉