Sharepoint Online - 如何设置项目列表可见性
Posted
技术标签:
【中文标题】Sharepoint Online - 如何设置项目列表可见性【英文标题】:Sharepoint Online - How to set item list visibility 【发布时间】:2022-01-18 20:17:57 【问题描述】:我正在准备一项将 sharepoint-online 与 SQL 数据对齐的小型服务。
关于某些列表,我必须配置项目的可见性,以确保它们仅对特定用户(以及任何默认组)可见(可编辑)。
我正在使用以下代码,
User usr1 = this.uc.FirstOrDefault(x => x.Title.ToUpper() == oo.ToString().ToUpper());
if (usr1 != null)
RoleDefinitionBindingCollection collRoleDefinitionBinding = new RoleDefinitionBindingCollection(Context);
RoleDefinition oRoleDefinition = Context.Web.RoleDefinitions.GetByType(RoleType.Editor);
collRoleDefinitionBinding.Add(oRoleDefinition);
Principal pa = usr1 as Principal;
rac.Add(pa, collRoleDefinitionBinding);
但它总是会产生以下错误
对象在与对象关联的上下文不同的上下文中使用。
你能帮帮我吗?
Ciao 大卫
【问题讨论】:
看看以下是否有帮助:docs.microsoft.com/en-us/aspnet/web-forms/overview/… 【参考方案1】:可以参考下面的代码来管理用户权限
foreach(var grpUser in grpUsers)
Principal user = ctx.Web.SiteUsers.GetByLoginName(grpUser);
RoleDefinition writeDefinition = ctx.Web.RoleDefinitions.GetByName("Edit");
RoleDefinitionBindingCollection roleDefCollection = new RoleDefinitionBindingCollection(ctx);
roleDefCollection.Add(writeDefinition);
RoleAssignment newRoleAssignment = ctx.Web.RoleAssignments.Add(grpUser, roleDefCollection);
ctx.ExecuteQuery();
【讨论】:
以上是关于Sharepoint Online - 如何设置项目列表可见性的主要内容,如果未能解决你的问题,请参考以下文章
是否有可能仅为 Sharepoint online 创建条件访问策略,不包括其依赖项,如 ms 团队?
Microsoft 365 - 如何设置/修改SharePoint Online Site的Default Time Zone
Microsoft 365 - 如何设置SharePoint Online Site是否可以share external user?