sharepoint给文档授权

 //在列表根目录下创建文件夹

public static string CreatFolderToSPDocLib(string strFolderName, string strDocLibName)

{

string FolderPath = string.Empty;

try

{

using (SPSite site = new SPSite(SiteUrl))

{

using (SPWeb web = site.OpenWeb())

{

web.AllowUnsafeUpdates = true;

SPListCollection lists = web.GetListsOfType(SPBaseType.DocumentLibrary);

lists.IncludeRootFolder = true;

SPList list = lists[strDocLibName];

list.EnableFolderCreation = true;

SPListItem item = list.Items.Add(list.RootFolder.ServerRelativeUrl, SPFileSystemObjectType.Folder, strFolderName);

item.Update();

list.Update();

FolderPath = item["FileRef"].ToString();

web.AllowUnsafeUpdates = false;

}

}

}

catch

{

}

return FolderPath;

}

  //上传文件到文件夹,并授权给相关用户

public static bool UpLoadFileToFolder(byte[] FileStream, string FileName, string FolderPath, string allLoginName)

{

try

{

using (SPSite site = new SPSite(SiteUrl))

{

using (SPWeb web = site.OpenWeb())

{

web.AllowUnsafeUpdates = true;

SPFolder folder = web.GetFolder(FolderPath);

SPListItem listItem = folder.Files.Add(FileName, FileStream).Item;

//断开原来列表项所继承的权限,使其可以设置独立权限

listItem.BreakRoleInheritance(true);

//将原来所继承的权限通通移除

foreach (SPRoleAssignment roleAssignment in listItem.RoleAssignments)

{

roleAssignment.RoleDefinitionBindings.RemoveAll();

roleAssignment.Update();

listItem.Update();

}

//获取将要设置权限的用户

SPUser myUser = web.EnsureUser(allLoginName);

//定义权限分配

SPRoleAssignment myRoleAssignment = new SPRoleAssignment(myUser.LoginName, myUser.Email, myUser.Name, myUser.Notes);

//绑定设置的权限

myRoleAssignment.RoleDefinitionBindings.Add(web.RoleDefinitions.GetByType(SPRoleType.Reader));

//把这个权限加到我们的列表中

listItem.RoleAssignments.Add(myRoleAssignment);

listItem.Update();

web.AllowUnsafeUpdates = false;

return true;

}

}

}

catch

{

return false;

}

}

        //通过ID获取列表项

public static string GetRoleAssignmentsOfSPListItem(string ListName, int ItemID)

{

string reValue = string.Empty;

try

{

using (SPSite site = new SPSite(SiteUrl))

{

using (SPWeb web = site.OpenWeb())

{

web.AllowUnsafeUpdates = true;

SPList list = web.Lists[ListName];

SPListItem item = list.Items.GetItemById(ItemID);

SPRoleAssignmentCollection Rolecoll = item.RoleAssignments;

foreach (SPRoleAssignment role in Rolecoll)

{

for (int i = 0; i < role.RoleDefinitionBindings.Count; i++)

{

reValue += (role.Member.LoginName + ":" + role.RoleDefinitionBindings[i].Name + ":" + role.RoleDefinitionBindings[i].BasePermissions.ToString());

}

}

web.AllowUnsafeUpdates = false;

}

}

}

catch

{

}

return reValue;

}

sharepoint给文档授权

时间: 2024-08-11 07:50:08

sharepoint给文档授权的相关文章

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

文件操作应用场景: 如果你的.NET项目是运行在SharePoint服务器上的,你可以直接使用SharePoint服务器端对象模型,用SPFileCollection.Add方法 http://msdn.microsoft.com/zh-cn/library/ms454491%28office.12%29.aspx 如果不在同一台机器上,并且你的SharePoint是2010,你可以使用.NET客户端对象模型,用FileCollection.Add方法 http://msdn.microsoft

SharePoint 2013 文档库中PPT转换PDF

原文:SharePoint 2013 文档库中PPT转换PDF 通过使用 PowerPoint Automation Services,可以从 PowerPoint 二进制文件格式 (.ppt) 和 PowerPoint Open XML 文件格式 (.pptx) 转换为其他格式.例如,您可能需要将一批 PowerPoint 97–2003 文件升级到 Open XML 演示文稿文件.您还可以在“编辑”菜单中创建自定义操作,以允许用户按需创建 PDF 版本的演示文稿. 一.效果演示: 1.新建一

sharepoint给文档库每个数据条添加权限

前言 老大任务,做一个读取文档库把里面的每一条数据添加权限.挺起来很简单,但是做起来,还是很简单,哈哈.因为我没有接触过这些代码,所以得不断的请教了.大题明白了,简单实现了一下,应用控制台先做了一下简单的功能,里面有写死的,但是完全可以写活. 代码部分 //读取网站集 SPSite site = new SPSite ("http://localhost"); SPWebApplication webApp = site.WebApplication; SPWeb web = site

SharePoint 2010文档管理的自动分发功能

SharePoint 2010文档管理的自动分发功能 需求: 本公司有不同的分支,不同的分支有不同的站点,他们拥着各自站点下的文档库管理着自己的文档.但是我们想提供一个统一的入口让他们上传自己的文档,并且这些不同分支上传的文档要能存在他们各自站点下的文档库里.或本网站有不同文档库,想统一保存一些相同的文档. 操作方法和步骤如下: 1. 点[网站操作]--[网站设置]--[网站操作]--[管理网站功能],如下图: 2. 启用[内容管理器]的Feature,如下图: 3. 启用后会在[网站操作]--

SharePoint 2010文档中心使用资源管理器方式拷贝文件慢的解决方案(个案,针对不同操作系统)

1   概述 本文旨在针对SharePoint 2010文档中心在不同操作系统版本中,打开IE浏览器(使用管理管理器打开文档中心)进行文件拷贝时速度慢的解决方案. 2   解决方案 1. 打开IE浏览器,选择菜单栏的“工具”,打开“Internet选项”,如下图所示. 2. 在Internet选项窗口中选择“链接”Tab,并点击“局域网设置”按钮,如下图所示. 3. 在局域网设置窗口中,不要选中“自动检测设置”复选框,如下图所示. 到此,完成IE浏览器设置,即可提高在IE中使用管理管理器打开文档

Sharepoint 为文档库设置历史版本数 c#

using System; using System.Collections.Generic; using System.Linq; using System.Text; using Microsoft.SharePoint; using Microsoft.SharePoint.Administration; using System.IO; using System.Web; using System.Text.RegularExpressions; using System.Data; u

SharePoint 2016文档库只能创建单一文件故障

在从SharePoint 2013升级到SharePoint 2016之后,我们其实在日常的工作使用中遇到了很多的小问题,从今天开始,我就把之前遇到的一些问题一一和大家进行一个分享, 使得大家今后在遇到类似问题的情况之下,少走弯路. 当然了,我的这些解决办法也不一定是最优的办法,也可能大家有更好的办法,我这里依然抱砖引玉,希望大家踊跃讨论,谢谢! 好了,我的前几篇博客写了如何来给SharePoint 2016 配置 Office Web App Server, 来使得通过我们的SharePoin

sharepoint 迁出文档时报错:sharepoint 服务器错误:the file &quot;xxxxxxxxx&quot; is not checked out

迁出文档时报错:sharepoint 服务器错误:the file "xxxxxxxxx" is not checked out 当文档库启用了历史版本,并且启用了:Create major and minor (draft) versions 当文档是draft的时候,无法迁出,将文档pubulish a major version,可以正常迁出.

SharePoint 2013 文档上传的多种形式

SharePoint 2013 中的某些功能需要使用 ActiveX 控件.这会在不支持 ActiveX 的浏览器上产生限制.目前只有 32 位版本的 Internet Explorer 支持此功能.也就是说对于文档库资源管理器打开需要使用32位ie打开,如果你是64位机器,有可能安装有两个ie版本,分别是32位和64位.请使用32位版本打开.还要注意部分SharePoint功能只支持IE.具体请参考官方文档说明,请参考. https://technet.microsoft.com/zh-CN/