欧非资源网:安全、免费、专业放心的资源下载站! 最新软件|软件分类

您的位置:欧非资源网 > 其他专区 > SharePoint > SharePoint 服务器端对象模型操作文档库(上传/授权/查看权限)

SharePoint 服务器端对象模型操作文档库(上传/授权/查看权限)

时间:2019-12-29 12:19作者:admin来源:未知人气:305我要评论(0)

上传文档到文档库,并对项目级授权,查看项目级权限方法

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

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中Office文件无法打开的解决方案如何快速生成SharePoint测试大文件如何查询SharePoint Library中空文件夹?如何快速备份SharePoint Farm Solution如何解决Event Viewer中SharePoint Error - Event ID 8321SharePoint 2016 CU安装失败,"Exception: The upgraded database schema doesn't match the TargetSchema"的解决方案InfoPath Error “此文档库已经被重命名或删除,或者网络问题导致文件无法保存…” 的解决方案SharePoint 2013 App概述How to Shrink SharePoint Content Database Log File?Project Web App Feature无法开启的解决方案

文章评论
发表评论

热门文章 SharePoint 2016 图文安装教程 后面有激活序列号、密钥分享[SharePoint入门教程]一SharePoint发展、工具及术语如何用 SharePoint Online创建团队网站?SharePoint Iframe 报错“此内容不能显示在一个框架中”

最新文章 SharePoint中Office文件无法打开的解决方案如何快速生成SharePoint测试大文件 如何查询SharePoint Library中空文件夹?如何快速备份SharePoint Farm Solution如何解决Event Viewer中SharePoint Error - Event ID 8321SharePoint 2016 CU安装失败,"Exception: The upgraded database s

人气排行 SharePoint 2016 图文安装教程 后面有激活序列号、密钥分享[SharePoint入门教程]一SharePoint发展、工具及术语如何用 SharePoint Online创建团队网站?SharePoint Iframe 报错“此内容不能显示在一个框架中”SharePoint 2013 安装图解 SharePoint安装步骤图解教程SharePoint 如何开启访问请求[SharePoint入门教程]一SharePoint概述[SharePoint入门教程]一创建SharePoint母版页

盖楼回复X

(您的评论需要经过审核才能显示)