sharepoint给文档库每个数据条添加权限

前言

      老大任务,做一个读取文档库把里面的每一条数据添加权限。挺起来很简单,但是做起来,还是很简单,哈哈。因为我没有接触过这些代码,所以得不断的请教了。大题明白了,简单实现了一下,应用控制台先做了一下简单的功能,里面有写死的,但是完全可以写活。

代码部分

                  //读取网站集

           SPSite site = new SPSite ("http://localhost");             SPWebApplication webApp = site.WebApplication;             SPWeb web = site.OpenWeb();            //用于文档库更新             web.AllowUnsafeUpdates = true;            //文档库             SPList docLib = null ;             try             {                 //这里是读取自己的那个文档库写死了                 docLib = web.Lists[ "MyDocument"];             }             catch (Exception )             {                 Console.WriteLine("不?对?" );                 return;             }             SPRoleAssignment roleAssignment = null ;             if (docLib != null )             {                 SPListItemCollection oSpListCl = docLib.Items;                 docLib.BreakRoleInheritance( true);                 foreach (SPListItem item in oSpListCl)                 {                     SPGroup group = null ;                     SPUser user = null ;                     try                     {                         user = web.Users[ @"myName"];//用户和组都是这样添加的,所以我这里用的组,用户也一样                         group = web.Groups[ @"myGroup" ];//                     }                     catch (Exception )                     {                           throw new Exception( "没?有?D这a个?组???" );                     }                       if (group == null )                     {                         Console.WriteLine("用??户??为空?" );                         return;                     }                     //return;                     //删除这个组                     //item.RoleAssignments.Remove(group);                     roleAssignment = new SPRoleAssignment (group);                     //告诉程序我要给这一项添加的组权限是什么,这里是读取权限                     SPRoleDefinition sPRolwDe = web.RoleDefinitions.GetByType(SPRoleType .Reader);                    //将权限添加到功能中,这里roleAssignment我也不大懂,只是知道这么用,以后查了再说明一下
                    roleAssignment.RoleDefinitionBindings.Add(sPRolwDe);                     
                    item.RoleAssignments.Add(roleAssignment);                    //文档库中的一项更新,同事文档库也就更新了
                    item.Update();                 }             }                 Console.ReadKey();

总结

    理解的不是很深,只能大概的理解一下,有不周的地方多多包涵,小生有礼了。。。。

                                       活到老,学到老

上一篇:sharepoint读取站点下列表


下一篇:sharepoint的webpart开发