前言

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

代码部分

//读取网站集

           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. Educational Codeforces Round 3

    A. USB Flash Drives 水题,排序即可 ]; int main() { int n,m; scanf("%d%d",&n,&m); ;i<n; ...

  2. iOS 7 新版微信 URL 不支持跳转 App Store 的解决方案

    今天早上刚到公司,就收到反馈说公司前端页面的下载按钮在 iOS 7 的微信内置浏览器里面点击无效,经过确认之后,前端代码是正常的,问题出在了微信上,然后谷歌之,原来腾讯在***. 是 BUG 还是刻意 ...

  3. WPF textbox 圆角制作

    在app.xaml中加入以下节点,全局设置textbox圆角 <Style TargetType="{x:Type TextBox}">            < ...

  4. 数位DP问题整理(一)

    第一题:Amount of degrees (ural 1057) 题目链接:http://acm.timus.ru/problem.aspx?space=1&num=1057 题意:[x,y ...

  5. RichtextBox 行和列

    获得光标所在的行号 获得光标所在的列号 设置光标到指定行号 设置光标到指定列号 http://www.huifangseo.com/blog/6/7.html 获得光标所在的行号和列号 方法1 int ...

  6. HDU 1242 rescue and 优先级队列的条目

    Problem Description Angel was caught by the MOLIGPY! He was put in prison by Moligpy. The prison is ...

  7. android 69 SQLite数据库

    package com.itheima.sqlitedatabase; import java.sql.ResultSet; import android.content.Context; impor ...

  8. LabVIEW设计模式系列——功能全局变量

    标准化:1.图标的标准化         2.模式的标准化Operation:Write & Read        3.xx为变量名称,w为write括号中为默认值,r为read       ...

  9. cocos2d-x plist+wen使用

    http://zhan.renren.com/tag?value=cocos2dx&from=template http://blog.csdn.net/zhanglongit/article ...

  10. ARCGIS二维三维互动

    当对三维模型进行操作时(如导航.平移)二维地图自动跟进. private void Synckron() { m_pGlobe = this._GlobeControl.Globe; m_pMap = ...