sharepoint 2010 重置List Item訪問權限

此處使用的是eventhandler 以下只貼出代碼部分,僅供參考

 public override void ItemAdded(SPItemEventProperties properties)
        {
            base.ItemAdded(properties);
            SPSecurity.RunWithElevatedPrivileges(delegate()
            {
                SPSite Site = new SPSite("http://litsoft01"); //e.g., "http://myserver/mysite"
                SPWeb Web = Site.OpenWeb();

               SPList List = Web.GetListFromUrl("/DocumentLab/Forms/AllItems.aspx");

               //取消繼承
               if (!ListItem.HasUniqueRoleAssignments)
                        ListItem.BreakRoleInheritance(true);
                    //清除權限
                    foreach (SPRoleAssignment roleAssignment in ListItem.RoleAssignments)
                    {
                        roleAssignment.RoleDefinitionBindings.RemoveAll();
                        roleAssignment.Update();
                    }

                  SPRoleDefinition role = Web.RoleDefinitions.GetByType(SPRoleType.Reader);
                    SPGroup spGroup = Web.SiteGroups["UserGroup"];
                    SPRoleAssignment assignment = new SPRoleAssignment(spGroup);
                    assignment.RoleDefinitionBindings.Add(role);

                ListItem.RoleAssignments.Add(assignment);

        });

}

              

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章