sharepoint-2010 - SharePoint - 如何将任务分配给不在系统中的用户?

标签 sharepoint-2010 user-accounts

我必须以编程方式为未明确添加到网站用户中的用户创建任务。不过,他有权参与任务列表,因为他属于已被授予这些权限的 AD 组。我可以通过 UI 将任务分配给用户;我如何通过代码来实现?

将任务分配给用户的公认方法是将任务的 AssignedTo 字段设置为指向该用户的 SPFieldUserValue。除了在这种情况下无法完成,因为在 SharePoint 中找不到用户,只能找到他的组!出于显而易见的原因,将任务分配给整个团队不是一个好主意。我们的系统管理员断然拒绝将用户一个一个地添加到 Sharepoint,因为这会复制他们在 Active Directory 中的数据,而且通常很难管理。我该怎么办?

最佳答案

当用户对 SharePoint 进行身份验证时,会在配置文件存储中为他们创建一个条目,即使他们对该站点的权限来自 AD 组也是如此。

我通过向我的 AD 添加新用户 (TGroupsUser) 和组 (SPtestPermissions) 进行了快速测试,因此该用户之前不可能访问过我的网站。我将用户添加到该组,并授予该组对我的站点的“成员”权限。然后我用这个新用户向 SP 进行了身份验证。

为了表明用户是此 SPWeb 的一部分,我编写了一个快速 Web 部件来枚举 Web 上的用户。请注意,使用 SPWeb 的用户分为三组。所有用户、站点用户和用户。看这个link有关这些属性的完整描述。基本上,用户是网络上的用户。网站用户是网站集上的用户和组。所有用户是网站的所有用户,包括那些被授予直接权限或通过组授予然后访问该网站的用户。这是结果,减去系统帐户。

所有用户 SPSDEV\rross SPSDEV\sptest权限 SPSDEV\TGroupsUser

网站用户 SPSDEV\rross SPSDEV\sptest权限 SPSDEV\TGroupsUser

用户 SPSDEV\rross

由于此帐户 (TgroupsUser) 是网络用户集合的一部分,您可以将其视为直接添加到站点的用户。为了完成测试,我使用以下代码为 assignedTo 字段创建了一个任务。

TaskItem[SPBuiltInFieldId.AssignedTo] = web.SiteUsers.GetByEmail("myemail@domain.com");

这是分配给 TGroupsUser 的新任务的屏幕截图。 enter image description here

仅供引用 - 我需要在 Web 对象上使用 AllowUnsafeUpdates。

关于sharepoint-2010 - SharePoint - 如何将任务分配给不在系统中的用户?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6346282/

相关文章:

facebook - 如何在 Meteor 中使用 accounts-facebook 获取用户的电子邮件地址?

html - 是否可以将 CSSClass 添加到动态创建的 HTMLTable 中?

在 ClearCase 的文档中搜索短语

javascript - 当我从 JavaScript 插入 Sharepoint 列表时,有没有办法从 (C#) 代码隐藏中辨别出来?

sql-server - 尝试删除数据库用户帐户架构时出错

google-chrome - 如何以编程方式创建Chrome个人资料?

linux - 使用 cgroup 将每个客户群的 CPU 使用率限制为 25%

java - 如何使用 REST API - Java 从 SharePoint 2010 获取更新的数据?

sharepoint - 设置Sharepoint 2010列表项的创建和修改日期

linux - 在 Linux (RedHat) 中如何锁定帐户并显示管理消息?