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

发布时间:2016-12-8 10:12:43 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"SharePoint 服务器端对象模型操作文档库(上传/授权/查看权限)",主要涉及到SharePoint 服务器端对象模型操作文档库(上传/授权/查看权限)方面的内容,对于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;         }     后记:几个简单的方法,测试通过,可能不太完善,需要的话可以继续完善。

上一篇:张信哲&nbsp;白月光&nbsp;音乐MTV
下一篇:SharePoint 更新文档库文档标题(Title)字段

相关文章

相关评论