在 Sensenet 上使用 SenseNet.Client 将成员关联到群组
Associate members to group using SenseNet.Client on Sensenet
我在使用 .NET API SenseNet.Client 定义 sensenet 上的组成员时遇到问题。
我需要创建一个自动流程来在 sensenet 上添加用户和组。我知道如何创建用户和组,但我没有找到任何关于将用户添加到组的信息。
这是我用来创建群组的代码:
var group = Content.CreateNew("/Root/IMS/BuiltIn/OUtest", "Group", "testGroup");
group["Name"] = "testGroup";
group["DisplayName"] = "testGroup";
await group.SaveAsync();
为了支持这种情况,客户端 API 中有一个 Group class,其中包含几个用于修改组成员身份的方法。它继承了主要的 Content class,因此它具有它的所有功能。
如果您已经有组id,您可以选择静态API来修改成员(下面的idArray应该包含新成员 只是,你必须知道现有成员,这只是 'delta').
// add new members to a group
await Group.AddMembersAsync(group.Id, idArray);
...或实例 API,如果您正在创建一个新组(请注意通用创建者方法):
// create group using the generic method
var group = Content.CreateNew<Group>("/Root/IMS/BuiltIn/OUtest", "Group", "testGroup");
group["Name"] = "testGroup";
group["DisplayName"] = "testGroup";
await group.SaveAsync();
// add new members
await group.AddMembersAsync(idArray);
// remove members
await group.RemoveMembersAsync(deletedUsersArray);
上述方法会立即进行 REST 调用,因此无需在它们之后调用 Save。
我在使用 .NET API SenseNet.Client 定义 sensenet 上的组成员时遇到问题。
我需要创建一个自动流程来在 sensenet 上添加用户和组。我知道如何创建用户和组,但我没有找到任何关于将用户添加到组的信息。
这是我用来创建群组的代码:
var group = Content.CreateNew("/Root/IMS/BuiltIn/OUtest", "Group", "testGroup");
group["Name"] = "testGroup";
group["DisplayName"] = "testGroup";
await group.SaveAsync();
为了支持这种情况,客户端 API 中有一个 Group class,其中包含几个用于修改组成员身份的方法。它继承了主要的 Content class,因此它具有它的所有功能。
如果您已经有组id,您可以选择静态API来修改成员(下面的idArray应该包含新成员 只是,你必须知道现有成员,这只是 'delta').
// add new members to a group
await Group.AddMembersAsync(group.Id, idArray);
...或实例 API,如果您正在创建一个新组(请注意通用创建者方法):
// create group using the generic method
var group = Content.CreateNew<Group>("/Root/IMS/BuiltIn/OUtest", "Group", "testGroup");
group["Name"] = "testGroup";
group["DisplayName"] = "testGroup";
await group.SaveAsync();
// add new members
await group.AddMembersAsync(idArray);
// remove members
await group.RemoveMembersAsync(deletedUsersArray);
上述方法会立即进行 REST 调用,因此无需在它们之后调用 Save。