前言

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

代码部分

//读取网站集

           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给文档库每个数据条添加权限的更多相关文章

  1. 上传文件到 Sharepoint 的文档库中和下载 Sharepoint 的文档库的文件到客户端

    文件操作应用场景: 如果你的.NET项目是运行在SharePoint服务器上的,你可以直接使用SharePoint服务器端对象模型,用SPFileCollection.Add方法 http://msd ...

  2. 迁移TFS,批量将文档导入SharePoint 2013 文档库

    一.需求分析 公司需要将存在于旧系统(TFS)所有的文档迁移至新系统(SharePoint 2013).现已经将50G以上的文档拷贝到SharePoint 2013 Server上.这些文档是一些不规 ...

  3. SharePoint 2013 文档库中PPT转换PDF

    通过使用 PowerPoint Automation Services,可以从 PowerPoint 二进制文件格式 (.ppt) 和 PowerPoint Open XML 文件格式 (.pptx) ...

  4. O365(世纪互联)SharePoint 之文档库使用小记

    前言 当O365越来越流行的时候,大家往往更多使用的是传统的Office功能,有太少订阅用户能触及到O365的一个非常棒的功能,叫做SharePoint online. 下面,我们就以图文并茂的方式, ...

  5. SharePoint大容量文档库整体搬迁的解决方案(SharePoint document library migration)

    今天客户提出了一个需求,有一个文档库,里面有500多个文档,有word,excel还有pdf文档,想要把文档搬迁到一个新的站点上面去,新的文档库和原文档库有这同样的列,客户要求文档在迁移过程中属性要带 ...

  6. sharepoint 2010 如何给文档库或自定义列表添加评论功能

    转:http://www.cfanz.cn/?c=article&a=read&id=40924 最近公司在知识库中,有一个需求,就是想要给文档添加评论功能,在sharepoint 2 ...

  7. sharepoint 2013 文档库 资源管理器打开报错 在文件资源管理器中打开此位置时遇到问题,将此网站添加到受信任站点列表,然后重试。

    我们在使用sharepoint 2013的文档库或者资源库的时候,经常会需要用到使用“资源管理器”来管理文档,但是有时候,点击“使用资源管理器打开”,会提示如下错误: 在文件资源管理器中打开此位置时遇 ...

  8. sharepoint 2013 文档库eventhandle权限控制

    记录一下如何在sharepoint server 2013文档库中,使用eventhandle控制文档库document library的条目item权限. ///<summary> // ...

  9. SharePoint 2007 文档库中的文档添加评论功能

    背景:接到一个项目,要求文档管理,当然文档库就可以了,但是要求文档需要大家去读,读完以后还可以发表评论,这Moss貌似就有点困难了.和同事一起合计,想来想去也没有太好的办法,后来想到传统开发,两个表的 ...

随机推荐

  1. Centos6.4 openNebula

    OpenNebula 是一套开源的云计算基础管理工具,用来方便管理员在数据中心统一部署.创建.分配和管理大量的虚拟机,企业数据中心可以利用这套工具搭建自己的私有云,为 自己内部提供 IaaS 服务,类 ...

  2. C程序设计语言--宏定义

    C语言中的宏定义 C语言中的宏定义也叫做预处理命令,预处理命令是C语言本身的组成部分,不能直接对它们进行编译. 1.基本概念: 1>预处理不是C语句,是在编译前进行的 2>预处理功能主要用 ...

  3. 如何在google test中指定只运行一部分测试

    博客搬到了fresky.github.io - Dawei XU,请各位看官挪步.最新的一篇是:如何在google test中指定只运行一部分测试.

  4. 理解asp.net中DropDownList编辑数据源,绑定数据库数据。

    一.理解asp.net绑定数据库 终于学习到了连接数据库部分的内容,杨中科老师视频看起来挺轻松的,如果是高清版就更ok了. 我发现我学习新的编程语言会有一个特点,都想要赶紧学习数据库,数据就是一切,有 ...

  5. 【PHP分享】Windows tail工具分享

    作者:zhanhailiang 日期:2014-09-28 在Linux下能够使用tail -f工具实时查看输出的日志.近期切换到本地Windows开发环境,顿时有点不爽.百度了下,最终找到tail的 ...

  6. qt中如果用qDebug输出彩色调试信息

    Linux:  在终端输出彩色信息有点类似于html的语法,即在要输出的文字前加上转义字符. 指令格式如下\033[*m 这里的*就是转义字符,例如我们要输出一段绿色的文字 qDebug(" ...

  7. WCF - 实例与会话

    实例上下文 实例上下文是对服务实例的封装 是WCF管理服务实例生命周期的依托  一个WCF服务通过ServiceHost进行寄宿 开启服务后当接收到请求 则会判断当前是否存在实例上下文 如果存在 则通 ...

  8. 【转】正确使用Block避免Cycle Retain和Crash

    原文地址:http://tanqisen.github.io/blog/2013/04/19/gcd-block-cycle-retain/ 使用指南:http://blog.csdn.net/nic ...

  9. Boost Build

    Window XP + Visual Studio 2008 获取Boost库源码 我们可以从http://www.boost.org/ 上获取boost的源代码.当前最新版本为1.45.0. 解压到 ...

  10. ASP.NET基础之HttpContext学习

    一:HttpContext理论知识: 1:HttpContext类它对Request.Respose.Server等等都进行了封装,并保证在整个请求周期内都可以随时随地的调用:为继承 IHttpMod ...