我正在通过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在同一用户(即同一登录)的不同站点集合中是不同的。
如果用户配置文件同步正在运行,这些是否相同?
发布于 2011-02-15 19:30:29
在某些情况下,该字段中的ID不存在于为该网站集返回的用户中,那么该ID来自何处?是来自用户配置文件存储吗?
当用户从AD中删除时,或者当您将内容导入到该用户不再存在的站点或场中时,我就遇到过这种情况。我猜person值是无效的。请记住,person字段只是用户信息列表中的一个查找字段。要使用户返回(如果他们存在),请使用EnsureUser方法,但他们将获得一个新的id,因此您必须对其进行修复。
我还注意到,从UserGroup web服务返回的用户ID在同一用户(即同一登录)的不同站点集合中是不同的。如果用户配置文件同步正在运行,这些是否相同?
这是正确的,每个网站集的用户id是不同的。这有点烦人,但这是有意义的,因为否则你必须在所有网站集中创建所有用户。我相信用户配置文件同步会查看帐户名或sid来进行匹配和更新。
https://stackoverflow.com/questions/5002933
复制相似问题