前言

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

代码部分

//读取网站集

           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. hdoj 1862 EXCEL排序

    EXCEL排序 Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total Su ...

  2. 从MSN上拔下来的全世界国家下拉框(附带SQL执行脚本)

    <select> <option value="AL">阿尔巴尼亚</option> <option value="DZ&quo ...

  3. noip 2015 提高组

    算是填个坑吧 , QwQ Day 1 第一题很水,就是考代码能力 ,直接贴代码. #include <iostream> #include <cstdlib> #include ...

  4. 闪回还原点(Flashback Restore Point)

    Flashback Restore Point(闪回还原点) 闪回还原点分两种,一种是Normal Restore Points(正常还原点),另一种是Guaranteed Restore Point ...

  5. 再谈内存管理与ARC运行机制(一)

    内存管理 内存在Objective-C开发中是一种相对稀缺的资源,拿Iphone4为例,它的内存只有512mb,所以妥善的处理好所创造,所使用的每个对象与变量都将成为一个问题.在ARC出现以前,同大部 ...

  6. strcmp函数和strcpy函数

    (一)strcmp函数 strcmp函数是比較两个字符串的大小,返回比較的结果.一般形式是: i=strcmp(字符串,字符串); 当中,字符串1.字符串2均可为字符串常量或变量:i   是用于存放比 ...

  7. 基于HTML5的SLG游戏开发( 三):认识PureMVC

    在游戏开发中,对于一般网络游戏,由于需要多人协同开发,每个人负责不同的模块开发,为了减少耦合,需要用来一些MVC框架,减少模块之间的耦合.我们现在使用的mvc框架是pureMVC.pureMVC的官网 ...

  8. PureMVC(JS版)源码解析(五):SimpleCommand类

          之前我们对PureMVC中涉及到观察者模式的三个基本类(Notification/Observer/Notifier)进行了分析,接下来将对PureMVC源码中的其他类进行分析,首先我们讲 ...

  9. Java基础知识强化之IO流笔记33:转换流之InputStreamReader的使用

    1. InputStreamReader的使用 InputStreamReader(InputStream is):用默认的编码读取数据 InputStreamReader(InputStream i ...

  10. 需要重新启动计算机.必须重新启动计算机才能安装 SQL Server

    在开始运行中输入regedit找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager 在右边窗口找到PendingFi ...