Kaneboy's Blog

SharePoint & Office Zealot
随笔 - 361, 评论 - 3663, 引用 - 201

导航

关于






Passed:
SPS2003 Infrastructure√
SPS2003 Custom Applications√
TS : WSS3.0 Configuration√
TS : WSS3.0 App Development√
TS : MOSS2007 Configuration√
TS : MOSS2007 App Development√
MCPD : Web Development√

此Blog中的文章和随笔只代表作者某一时间内的个人观点或结论,不代表任何公司立场和观点,也对其正确性没有任何担保或假设。(版权声明:作者原创文章和随笔的转载,请知会作者。)

点击这里查看此blog所有SharePoint文章!

SharePoint 2007 Starter Page

SharePoint External Binary Storage
QuickPart : 用户控件包装器 for SharePoint2007






标签

每月存档

最新留言

广告

 

首先,在站点(Site,not Site Collection)的层次上,是不能创建用户组(Group)的。虽然和你的“直觉”不一致,但确实如此。所有用户组都是基于站点集的!当我们在一个站点集中任何一个站点中创建一个用户组的时候,实际上都是在站点集层次上创建了一个用户组。

如果你试图用代码在SPWeb.Groups里面添加新的SPGroup,是不会成功的。只有SPWeb.SiteGroups里面才能添加新的SPGroup。

当我们在MOSS2007界面上操作时,“确实”是可以在一个站点中创建用户组的,而且这个用户组只对这个站点有对应的权限。但实际上,MOSS2007仍然是在站点集的层次上创建了一个用户组,然后将这个用户组与这个站点建立起相应的角色关联(Role Assignment),这样,这个用户组就对相应的站点具有了相应的权限。

然后,我们讲讲用户,在SPWeb的众多属性中,你能发现与用户有关的三个属性:Users、AllUsers、SiteUsers,它们有什么区别呢?

简单来说,SPWeb.Users中包含的是“真正”的添加到这个站点中的用户,这个用户只属于这个站点。SPWeb.AllUsers中包含的是所有对这个站点有访问权限的用户,这些用户可能是这个站点的直接用户(即被包含在SPWeb.Users中),也可能是通过其他手段来获取对这个站点的访问权限的。SPWeb.AllUsers包含了SPWeb.Users中的所有用户。SPWeb.SiteUsers是定义在站点集层次上的用户。

由于用户组是属于站点集的,所以当我们在任意一个站点中进行操作,为一个用户组中添加一个用户时,这个用户都是被添加到站点集层次用户组中,也就是说,你在SPWeb.Users中是肯定找不到这个用户的。你可以在SPWeb.SiteUsers中找到他(因为这个用户是被添加到站点集层次的用户组中,所以他算一个站点集层次的用户),还可以在SPWeb.AllUsers中找到他(因为这个用户确实对这个站点具有访问权限)。
image

但是,如果在站点中添加用户的时候,不是将他放到某个用户组中,而是直接给这个新用户赋予相应的权限级别(也就是Role),那么这个用户就算是“真正的”被加入到这个站点,你可以在SPWeb.Users集合中找到他。同时,在SPWeb.SiteUsers和SPWeb.AllUsers集合中,也能找到这个用户。
image 

最后,再顺便解释一个很多人疑惑的问题。在WSS中,管理员可以直接修改站点用户的属性,比如电子邮件,但是在MOSS中,是不能直接修改的。如果进入到修改界面,你只会看到:
image

这是因为在MOSS中,有一个“用户配置文件(User Profile)”的组件,在共享服务管理中,你可以看到用户配置文件管理界面。MOSS使用用户配置文件来存放用户的属性信息,比如Email。MOSS会定期(通过计时器作业,SPTimerV3 NT Service)将存放在用户配置文件里面的属性信息“推送”给站点用户,自动更新站点用户的各项属性。所以,如果需要更改用户的属性值,在MOSS中需要通过用户配置文件。如果直接修改了站点用户的属性值(比如通过代码),在下次用户配置文件“推送”的时候,将会覆盖掉用户修改的属性值。WSS由于没有用户配置文件这个功能,所以允许用户和管理员直接更改站点用户的属性值。

打印 | 张贴于 2007-10-11 14:59:00 | Tag:SharePoint

留言反馈

#SharePoint Server中的用户信息管理 编辑
此文是《 关于SharePoint 2007的用户组和用户 》一文最后一段的继续。关于SharePoint Server中的用户信息管理,choral也写过一篇相关的《 SharePoint中的用户信息同步
2008-02-18 02:27:00 | [匿名用户:Joycode@Ab110.com]
#请教:怎么获取moss登录帐户?将其放在自己想要的地方 编辑
qin请教:怎么获取MOSS登录帐户名?

即:string s= MOSS.USERNAME,这种样式!或者属性值

谢谢,请教,
2008-01-24 19:50:00 | [匿名用户:Windy]
#回复: 关于SharePoint 2007的用户组和用户 编辑
??用户配置文件在什么地方啊。怎么找不到咧
2008-01-03 13:15:00 | [匿名用户:mhy]
#回复: 关于SharePoint 2007的用户组和用户 编辑
难怪我说那个用户显示名字怎么老自己变掉,郁闷死我了。害我隔段时间就要去数据库里面改,可是当Projec推行开了之后这也不是长久之计啊。。
我的情况是:服务器设置->用户 里面的用户属性都很正常,就是网站设置-》用户 那里的名字老自己变为登陆名称,然后网站登陆时的欢迎词和用户发布的论坛信息就跟着变。
我现在不知道要怎么办,能给个指点么
2008-01-03 13:00:00 | [匿名用户:mhy]
#回复: 关于SharePoint 2007的用户组和用户 编辑
好勤快!
比陈曦更新快!
好娃!
2007-10-12 20:10:00 | [匿名用户:娃哈哈]
#回复: 关于SharePoint 2007的用户组和用户 编辑
kaneboy要发含金量高的文章才对得起我们这些fans呀.
2007-10-12 16:17:00 | [匿名用户:风渐寒]
#回复: 关于SharePoint 2007的用户组和用户 编辑
这应该就是产品定位把,SharePoint是企业产品,并不像VS,OS这些人人可以接触的,所以要普及,也是对企业而言。
2007-10-12 09:17:00 | [匿名用户:chatterley]
#回复: 关于SharePoint 2007的用户组和用户 编辑
我从04年都觉得sharepoint server很棒,可是怎么就是没见有普及的趋势呢?微软似乎也没主推它,怪
2007-10-11 15:32:00 | [匿名用户:keke7]

发表留言

标题
姓名
邮件
主页
留言 

Powered by: Joycode.MVC引擎 0.5.1.0