sharepoint权限操作(记录以备忘)
生活随笔
收集整理的這篇文章主要介紹了
sharepoint权限操作(记录以备忘)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
using Microsoft.SharePoint;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;namespace SharePointProject2
{class Class2{/// <summary>/// 判斷組是否存在/// </summary>/// <param name="web"></param>/// <param name="groupname"></param>/// <returns></returns>public bool IsExistGroup(SPWeb web, string groupname){try{foreach (SPGroup grouplist in web.SiteGroups)//判斷組是否存在
{if (grouplist.ToString().ToLower() == groupname.ToLower())return true;}return false;}catch (Exception){throw;}}/// <summary>/// 新建組/// </summary>/// <param name="web"></param>/// <param name="groupname"></param>/// <param name="member"></param>/// <param name="spuser"></param>/// <param name="description"></param>/// <returns></returns>public bool AddGroup(SPWeb web, string groupname, SPMember member, SPUser spuser, string description){try{if (!IsExistGroup(web, groupname)){web.SiteGroups.Add(groupname, member, spuser, description);//新建組return true;}return false;}catch (Exception){throw;}}/// <summary>/// 判斷指定組是否存在用戶/// </summary>/// <param name="web"></param>/// <param name="username">Domin\\Name形式</param>/// <param name="groupname"></param>/// <returns></returns>public bool IsExistUser(SPWeb web, string username, string groupname){try{foreach (SPUser userlist in web.SiteGroups[groupname].Users)//判斷指定組是否存在用戶
{if (userlist.ToString().ToLower() == username.ToLower())return true;}return false;}catch (Exception){throw;}}/// <summary>/// 根據(jù)指定的組新建用戶/// </summary>/// <param name="web"></param>/// <param name="loginname">登錄名:Domin\\Name形式</param>/// <param name="groupname">組名稱</param>/// <param name="email">Email</param>/// <param name="cnname">中文名</param>/// <param name="notes">用戶說(shuō)明</param>/// <returns>bool</returns>public bool AddUserToGroup(SPWeb web, string loginname, string groupname, string email, string cnname, string notes){try{if (!IsExistUser(web, loginname, groupname)){web.SiteGroups[groupname].AddUser(loginname, email, cnname, notes);//新建用戶return true;}return false;}catch (Exception){throw;}}/// <summary>/// 組權(quán)限分配與定義(New)/// </summary>/// <param name="web"></param>/// <param name="groupname"></param>/// <param name="roles"></param>/// <returns></returns>public bool AddGroupToRoles(SPWeb web, string groupname, string[] roles){try{string[] _roles = roles;int rolemun = _roles.Length;if (IsExistGroup(web, groupname)){//改變站點(diǎn)繼承權(quán)if (!web.HasUniqueRoleDefinitions){web.RoleDefinitions.BreakInheritance(true, true);//復(fù)制父站點(diǎn)角色定義并且保持權(quán)限
}//站點(diǎn)繼承權(quán)改變后重新設(shè)置狀態(tài)web.AllowUnsafeUpdates = true;//組權(quán)限分配與定義(New)SPRoleDefinitionCollection roleDefinitions = web.RoleDefinitions;SPRoleAssignmentCollection roleAssignments = web.RoleAssignments;SPMember memCrossSiteGroup = web.SiteGroups[groupname];SPPrincipal myssp = (SPPrincipal)memCrossSiteGroup;SPRoleAssignment myroles = new SPRoleAssignment(myssp);SPRoleDefinitionBindingCollection roleDefBindings = myroles.RoleDefinitionBindings;if (rolemun > 0){for (int i = 0; i < rolemun; i++){roleDefBindings.Add(roleDefinitions[_roles[i]]);}}roleAssignments.Add(myroles);return true;}return false;}catch (Exception){throw;}}protected void btnCreateSite_Click(object sender, EventArgs e){try{SPSite site = new SPSite("http://contososrv:8010/");//string spwt = SPWebTemplate.WebTemplateSTS;//默認(rèn)選擇協(xié)作站點(diǎn)模板
web = site.OpenWeb("Test/");web.AllowUnsafeUpdates = true;SPMember memUser = web.Users[0];SPUser suser = web.Users[0];//新建組//web.SiteGroups.Add("skyteam3", memUser, suser, "new skyteam");//web.SiteGroups["skyteam3"].AddUser("adr\\administrator", "pccai@adr.svic1", "蔡", "系統(tǒng)維修人員");//web.Groups["skyteam2"].AddUser("adr\\pccai", "pccai@adr.svic1", "蔡", "系統(tǒng)維修人員");//新建子站點(diǎn)string currentTemplate = web.WebTemplate;//web.Webs.Add("Test2", "站點(diǎn)名稱2", "站點(diǎn)描述2", 2052, "_GLOBAL_#0", true, false);//打開(kāi)子站點(diǎn)SPWeb web2 = site.OpenWeb("Test/Test2");web2.AllowUnsafeUpdates = true;// web2.SiteGroups.Add("skyteam6", memUser, suser, "new skyteam");//新建組// web2.SiteGroups["skyteam6"].AddUser("adr\\administrator", "administrator@adr.svic1", "邊", "系統(tǒng)維修人員");//改變站點(diǎn)繼承權(quán)if (!web2.HasUniqueRoleDefinitions){web2.RoleDefinitions.BreakInheritance(true, true);}//站點(diǎn)繼承權(quán)改變后重新設(shè)置狀態(tài)web2.AllowUnsafeUpdates = true;//添加權(quán)限級(jí)別 (Role) //SPRoleDefinition roleDefinition = new SPRoleDefinition();//roleDefinition.Name = "項(xiàng)目角色";//roleDefinition.Description = "項(xiàng)目角色可以批準(zhǔn)所有項(xiàng)目情況.";//roleDefinition.BasePermissions = SPBasePermissions.FullMask ^ SPBasePermissions.ManagePermissions;//web2.RoleDefinitions.Add(roleDefinition);//更改權(quán)限級(jí)別 (Permissions) SPRoleDefinitionCollection roles = web2.RoleDefinitions;SPRoleDefinition roleDefinition1 = roles["讀取"];roleDefinition1.BasePermissions = SPBasePermissions.AddListItems |SPBasePermissions.BrowseDirectories |SPBasePermissions.EditListItems |SPBasePermissions.DeleteListItems |SPBasePermissions.AddDelPrivateWebParts;roleDefinition1.Update();//用戶權(quán)限分配與定義(New)SPRoleDefinitionCollection roleDefinitions = web2.RoleDefinitions;SPRoleAssignmentCollection roleAssignments = web2.RoleAssignments;SPRoleAssignment roleAssignment = new SPRoleAssignment("adr\\administrator", "administrator@Somewhere.com", "Display_Name", "Notes");SPRoleDefinitionBindingCollection roleDefBindings = roleAssignment.RoleDefinitionBindings;roleDefBindings.Add(roleDefinitions["項(xiàng)目角色"]);roleAssignments.Add(roleAssignment);//權(quán)限定義(Old)//SPRoleCollection siteGroups = web2.Roles;//siteGroups.Add("skyteam6", "Description", SPRights.ManageWeb | SPRights.ManageSubwebs);//獲得權(quán)限定義SPRoleDefinition sprole = roleDefinitions.GetByType(SPRoleType.Reader);string spname = sprole.Name;//組權(quán)限分配與定義(New)SPRoleDefinitionCollection roleDefinitions1 = web2.RoleDefinitions;SPRoleAssignmentCollection roleAssignments1 = web2.RoleAssignments;SPMember memCrossSiteGroup = web2.SiteGroups["skyteam6"];SPPrincipal myssp = (SPPrincipal)memCrossSiteGroup;SPRoleAssignment myroles = new SPRoleAssignment(myssp);SPRoleDefinitionBindingCollection roleDefBindings1 = myroles.RoleDefinitionBindings;roleDefBindings1.Add(roleDefinitions1["設(shè)計(jì)"]);roleDefBindings1.Add(roleDefinitions1["讀取"]);roleAssignments1.Add(myroles);//組權(quán)限分配與定義(Old)//SPMember member = web2.Roles["skyteam"];//web2.Permissions[member].PermissionMask =// SPRights.ManageLists | SPRights.ManageListPermissions;//更改列表權(quán)限(Old)//SPList list = site.Lists["通知"];//SPPermissionCollection perms = list.Permissions;//SPUserCollection users = site.Users;//SPMember member = users["ADR\\pccai"];//list.Permissions[member].PermissionMask = SPRights.AddListItems | SPRights.EditListItems;// PermissionCollection perc = web.Permissions;//perc.AddUser("adr\\administrator", "administrator@adr.srvc1", "title", "Notes", PortalRight.AllSiteRights);// SecurityManager.AddRole(context, "title", "descriptions", PortalRight.ManageSite);
}catch (Exception){throw;}}}
}
?
總結(jié)
以上是生活随笔為你收集整理的sharepoint权限操作(记录以备忘)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 判断线段相交和交点
- 下一篇: 【linux草鞋应用编程系列】_3_ 进