前言

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

代码部分

//读取网站集

           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. codeforces 358D

    题目链接:http://codeforces.com/contest/358/problem/D #include<cstdio> #include<iostream> #in ...

  2. Spark RDD概念学习系列之rdd持久化、广播、累加器(十八)

    1.rdd持久化 2.广播 3.累加器 1.rdd持久化 通过spark-shell,可以快速的验证我们的想法和操作! 启动hdfs集群 spark@SparkSingleNode:/usr/loca ...

  3. 3 weekend110的shuffle机制 + mr程序的组件全貌

    前面,讲到了hadoop的序列化机制,mr程序开发,自定义排序,自定义分组. 有多少个reduce的并发任务数可以控制,但有多少个map的并发任务数还没 缓存,分组,排序,转发,这些都是mr的shuf ...

  4. uvaoj 10397 - Connect the Campus【最小生成树】

    uvaoj 10397 - Connect the Campus Many new buildings are under construction on the campus of the Univ ...

  5. HDU 1011 树形背包(DP) Starship Troopers

    题目链接:  HDU 1011 树形背包(DP) Starship Troopers 题意:  地图中有一些房间, 每个房间有一定的bugs和得到brains的可能性值, 一个人带领m支军队从入口(房 ...

  6. Android NDK 【错误】The method loadLibrary(String) is undefined for the type Settings.Syste

    [错误]The method loadLibrary(String) is undefined for the type Settings.System [解决方法] 不要加入包import andr ...

  7. Java中NaN和-0.0f的比较问题

    简单的说,比较两个int型或long型的数据没有什么问题,可以用==来判断,但对浮点数(float与double)来说,需要对Float.NaN和0.0这个两个特殊数字作额外的处理.Float.NaN ...

  8. php通过文件头检测文件类型通用类(zip,rar…)(转)

    在做web应用时候,通过web扩展名判断上存文件类型,这个是我们常使用的.有时候我们这样做还不完善.可能有些人上存一些文件,但是他通过修改 扩展名,让在我们的文件类型之内. 单实际访问时候又不能展示( ...

  9. Android的配置界面PreferenceActivity

    我想大家对于android的系统配置界面应该不会陌生吧,即便陌生,那么下面的界面应该似曾相识吧,假若还是不认识,那么也没有关系,我们这一节主要就是介绍并讲解android 中系统配置界面的使用,相信大 ...

  10. pip安装 MySQLDb 和 Django

    wget "https://pypi.python.org/packages/source/p/pip/pip-1.5.4.tar.gz#md5=834b2904f92d46aaa33326 ...