日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

發布時間:2025/4/9 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SharePoint 服务器端对象模型操作文档库(上传/授权/查看权限) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

來源于:http://www.cnblogs.com/jianyus/p/3258863.html

簡介:上傳文檔到文檔庫,并對項目級授權,查看項目級權限方法

??????? //在列表根目錄下創建文件夾

??????? 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;

??????? }

?

  后記:幾個簡單的方法,測試通過,可能不太完善,需要的話可以繼續完善。

?

?

?

天天想你紅棗,您的健康,‘棗‘的承諾 <a href="http://shop109102900.taobao.com" target="_blank" style="color:red">天天想你紅棗淘寶店</a>

轉載于:https://www.cnblogs.com/TNSSTAR/p/3602819.html

總結

以上是生活随笔為你收集整理的SharePoint 服务器端对象模型操作文档库(上传/授权/查看权限)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。