SharePoint发行版本有SharePoint2003、SharePoint2007、Sharepoint 2010、SharePoint2013和SharePoint2016。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;=""> { reValue += (role.Member.LoginName + ":" + role.RoleDefinitionBindings[i].Name + ":" + role.RoleDefinitionBindings[i].BasePermissions.ToString()); } } ? web.AllowUnsafeUpdates = false; } } } catch { } return reValue; } ? 后记:几个简单的方法,测试通过,可能不太完善,需要的话可以继续完善。 Sharepoint 可以帮助企业用户轻松完成日常工作。 |
温馨提示:喜欢本站的话,请收藏一下本站!