zoukankan      html  css  js  c++  java
  • 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();

    总结

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

                                           活到老,学到老

  • 相关阅读:
    Jmeter之Web测试(一)
    Appium 提高脚本复用、可配置性
    Appium 解决中文输入问题
    Appium Python Driver Api
    Appium Android 屏幕滑动
    Android logcat使用
    android adb:电池与电量
    Loadrunner测试json接口
    python输出1到100之和的几种方法
    python 随机生成用户名、密码、手机号码
  • 原文地址:https://www.cnblogs.com/hackerxiaoyon/p/3832564.html
Copyright © 2011-2022 走看看