zoukankan      html  css  js  c++  java
  • 在Share Point 2010 中针对相应用户赋某一个list中的item相关权限

    看标题看起来挺绕口,实际上是这样的,在项目中往往会有这样的情况,针对某些用户,他对于list中的其中一个item或者多个item只有Read权限或者其他,这样就不能仅仅是对list赋权限了,就需要利用item来赋权限。

    SPSecurity.RunWithElevatedPrivileges(delegate()
                {
                    using (SPSite oWebsite = new SPSite(SPContext.Current.Web.Url))
                    {
                        using (SPWeb web = oWebsite.OpenWeb())
                        {
    
                            web.AllowUnsafeUpdates = true;
    
                    item.BreakRoleInheritance(true);//打断继承
                    SPRoleAssignmentCollection roleAssignmentCollection = item.RoleAssignments;
                    for (int i = roleAssignmentCollection.Count - 1; i >= 0; i--)
                    {
                        roleAssignmentCollection.Remove(i);
                    }
    SPRoleAssignment roleAssignment = new SPRoleAssignment((SPPrincipal)spUser);//假定可以拿到一个spuser
                        roleAssignment.RoleDefinitionBindings.Add(web.RoleDefinitions["Read"]);//赋read权限
                        item.RoleAssignments.Add(roleAssignment);
    item.Update();
                    web.AllowUnsafeUpdates = false;
              }
            } });

    这时,从页面中就可以看到,选中list中的一个item,点击ribbon中的 item permissions按钮。

    就会发现,对于某个用户赋予了相应权限。

  • 相关阅读:
    三大范式
    html 横线的代码
    CSS下拉 菜单3.27第一次
    JS页面三种打开方式及对话框
    函数整理
    3.22整理作业
    for循环,if 练习
    php测试题
    设计模式
    面向对象的三大特性
  • 原文地址:https://www.cnblogs.com/fengyishou/p/2870124.html
Copyright © 2011-2022 走看看