我需要将一些特定于用户的数据存储在 SharePoint 中,并让用户通过自定义 Web 部件进行访问。假设有一个最喜欢的 URL 列表。存储这些信息最直接的方法是什么?
- 一些我不知道的 SPUser 或类似内容的内置属性包。
- SPList,通过用户列关联。
- 自定义数据库表,通过 SPUser ID 关联。
- 不然呢?
对我来说听起来像是 RTFM,但我可能向 Google 提出了错误的问题。
[更新]
我们最终将这些信息存储在固定位置的一个简单列表中,并使用“人员”字段进行过滤。也许确实是最简单的解决方案,但从技术上讲,我认为下面标记的答案更好。
最佳答案
如果您想让每个用户在整个网站集中重复使用它们,您可以将字段添加到用户信息列表中。您可以向 Web 部件解决方案添加功能接收器,该功能接收器可以创建此列,或者检查此列是否存在于用户信息列表中以确保该列存在。
用户信息列表是 SharePoint 用于存储用户信息的标准 SharePoint 列表。 要访问用户信息列表,您可以转到网站集的根网站并使用 SiteUserInfoList 属性
EG
SPList userInformationlist = SPContext.Current.Site.RootWeb.SiteUserInfoList;
//Or
SPWeb web = SPContext.Current.Site.RootWeb;
SPList userInformationlist = web.SiteUserInfoList;
要访问用户列表项,您可以使用用户 ID 从用户信息列表中获取列表项
EG
SPListItem currentUserItem = userInformationlist.GetItemById(web.CurrentUser.ID);
如果您使用 MOSS,您可以将此信息存储在用户配置文件中,并使其在网站集中可用,这不需要启用“我的网站”。您需要使用用户配置文件类来访问它。
关于sharepoint - 如何在 SharePoint 中存储特定于用户的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2756696/