我正在通过SharePoint Web服务从多个网站集中检索用户信息。
http://mysitecollection.com/_vti_bin/usergroup.asmx
使用'GetAllUserCollectionFromWeb'方法返回网站集的所有用户。
以下XML是返回内容的示例。
<Users>
<User
ID="108"
Sid="S-1-5-21-1650336054-1974872081-316617838-5403"
Name="Ian Curtis"
LoginName="JOY\division"
Email="ian.curtis@joydivision.com"
Notes=""
IsSiteAdmin="False"
IsDomainGroup="False" />
</Users>
我的问题是这个。
我从列表Web服务获取列表项,其中一个字段是Person列。信息以Id; #Name
的格式存储在某些情况下,为该网站集返回的用户中不存在此字段中的ID,因此ID来自哪里?它来自用户配置文件存储吗?
我还注意到,从UserGroup Web服务返回的用户的ID在同一用户的不同网站集中是不同的(即相同的登录名)。
如果用户个人资料同步正在运行,那么它们是否相同?
答案 0 :(得分:2)
在某些情况下,ID来自此 用户中不存在该字段 返回该网站集,所以 身份证在哪里?是来自 用户档案商店?
当用户从AD中删除,或者将内容导入到该用户不再存在的站点或服务器场中时,我发生了这种情况。我猜这个人的价值是无效的。请记住,person字段只是用户信息列表中的查找字段。要使用户返回(如果存在),请使用EnsureUser方法,但他们将获得一个新ID,因此您必须解决此问题。
我也注意到了一个ID 用户从UserGroup Web返回 服务因人而异 同一用户的网站集 (即同一登录)。如果是用户 配置文件同步正在运行 一样吗?
这是正确的,每个网站集的用户ID不同。这有点烦人,但它是有道理的,因为其他明智的你必须在所有网站集中创建所有用户。我相信用户个人资料同步会查看帐户名称或sid以进行匹配和更新。