1
![](/assets/blank.gif)
![](/assets/blank.gif)
/**//// <summary>
2
![](/assets/blank.gif)
/// 判断组是否存在
3
![](/assets/blank.gif)
/// </summary>
4
![](/assets/blank.gif)
/// <param name="web"></param>
5
![](/assets/blank.gif)
/// <param name="groupname"></param>
6
![](/assets/blank.gif)
/// <returns></returns>
7
![](/assets/blank.gif)
public bool IsExistGroup(SPWeb web, string groupname)
8
![](/assets/blank.gif)
![](/assets/blank.gif)
{
9
![](/assets/blank.gif)
try
10
![](/assets/blank.gif)
![](/assets/blank.gif)
{
11
![](/assets/blank.gif)
foreach (SPGroup grouplist in web.SiteGroups)//判断组是否存在
12
![](/assets/blank.gif)
![](/assets/blank.gif)
{
13
![](/assets/blank.gif)
if (grouplist.ToString().ToLower() == groupname.ToLower())
14
![](/assets/blank.gif)
return true;
15
![](/assets/blank.gif)
}
16
![](/assets/blank.gif)
return false;
17
![](/assets/blank.gif)
}
18
![](/assets/blank.gif)
catch (Exception)
19
![](/assets/blank.gif)
![](/assets/blank.gif)
{
20
![](/assets/blank.gif)
throw;
21
![](/assets/blank.gif)
}
22
![](/assets/blank.gif)
}
23
![](/assets/blank.gif)
24
![](/assets/blank.gif)
![](/assets/blank.gif)
/**//// <summary>
25
![](/assets/blank.gif)
/// 新建组
26
![](/assets/blank.gif)
/// </summary>
27
![](/assets/blank.gif)
/// <param name="web"></param>
28
![](/assets/blank.gif)
/// <param name="groupname"></param>
29
![](/assets/blank.gif)
/// <param name="member"></param>
30
![](/assets/blank.gif)
/// <param name="spuser"></param>
31
![](/assets/blank.gif)
/// <param name="description"></param>
32
![](/assets/blank.gif)
/// <returns></returns>
33
![](/assets/blank.gif)
public bool AddGroup(SPWeb web, string groupname, SPMember member, SPUser spuser, string description)
34
![](/assets/blank.gif)
![](/assets/blank.gif)
{
35
![](/assets/blank.gif)
try
36
![](/assets/blank.gif)
![](/assets/blank.gif)
{
37
![](/assets/blank.gif)
if (!IsExistGroup(web, groupname))
38
![](/assets/blank.gif)
![](/assets/blank.gif)
{
39
![](/assets/blank.gif)
web.SiteGroups.Add(groupname, member, spuser, description);//新建组
40
![](/assets/blank.gif)
return true;
41
![](/assets/blank.gif)
}
42
![](/assets/blank.gif)
return false;
43
![](/assets/blank.gif)
}
44
![](/assets/blank.gif)
catch (Exception)
45
![](/assets/blank.gif)
![](/assets/blank.gif)
{
46
![](/assets/blank.gif)
47
![](/assets/blank.gif)
throw;
48
![](/assets/blank.gif)
}
49
![](/assets/blank.gif)
}
50
![](/assets/blank.gif)
51
![](/assets/blank.gif)
![](/assets/blank.gif)
/**//// <summary>
52
![](/assets/blank.gif)
/// 判断指定组是否存在用户
53
![](/assets/blank.gif)
/// </summary>
54
![](/assets/blank.gif)
/// <param name="web"></param>
55
![](/assets/blank.gif)
/// <param name="username">Domin\\Name形式</param>
56
![](/assets/blank.gif)
/// <param name="groupname"></param>
57
![](/assets/blank.gif)
/// <returns></returns>
58
![](/assets/blank.gif)
public bool IsExistUser(SPWeb web, string username, string groupname)
59
![](/assets/blank.gif)
![](/assets/blank.gif)
{
60
![](/assets/blank.gif)
try
61
![](/assets/blank.gif)
![](/assets/blank.gif)
{
62
![](/assets/blank.gif)
foreach (SPUser userlist in web.SiteGroups[groupname].Users)//判断指定组是否存在用户
63
![](/assets/blank.gif)
![](/assets/blank.gif)
{
64
![](/assets/blank.gif)
if (userlist.ToString().ToLower() == username.ToLower())
65
![](/assets/blank.gif)
return true;
66
![](/assets/blank.gif)
}
67
![](/assets/blank.gif)
return false;
68
![](/assets/blank.gif)
}
69
![](/assets/blank.gif)
catch (Exception)
70
![](/assets/blank.gif)
![](/assets/blank.gif)
{
71
![](/assets/blank.gif)
throw;
72
![](/assets/blank.gif)
}
73
![](/assets/blank.gif)
}
74
![](/assets/blank.gif)
75
![](/assets/blank.gif)
![](/assets/blank.gif)
/**//// <summary>
76
![](/assets/blank.gif)
/// 根据指定的组新建用户
77
![](/assets/blank.gif)
/// </summary>
78
![](/assets/blank.gif)
/// <param name="web"></param>
79
![](/assets/blank.gif)
/// <param name="loginname">登录名:Domin\\Name形式</param>
80
![](/assets/blank.gif)
/// <param name="groupname">组名称</param>
81
![](/assets/blank.gif)
/// <param name="email">Email</param>
82
![](/assets/blank.gif)
/// <param name="cnname">中文名</param>
83
![](/assets/blank.gif)
/// <param name="notes">用户说明</param>
84
![](/assets/blank.gif)
/// <returns>bool</returns>
85
![](/assets/blank.gif)
public bool AddUserToGroup(SPWeb web, string loginname, string groupname, string email, string cnname, string notes)
86
![](/assets/blank.gif)
![](/assets/blank.gif)
{
87
![](/assets/blank.gif)
try
88
![](/assets/blank.gif)
![](/assets/blank.gif)
{
89
![](/assets/blank.gif)
if (!IsExistUser(web, loginname, groupname))
90
![](/assets/blank.gif)
![](/assets/blank.gif)
{
91
![](/assets/blank.gif)
web.SiteGroups[groupname].AddUser(loginname, email, cnname, notes);//新建用户
92
![](/assets/blank.gif)
return true;
93
![](/assets/blank.gif)
}
94
![](/assets/blank.gif)
return false;
95
![](/assets/blank.gif)
}
96
![](/assets/blank.gif)
catch (Exception)
97
![](/assets/blank.gif)
![](/assets/blank.gif)
{
98
![](/assets/blank.gif)
99
![](/assets/blank.gif)
throw;
100
![](/assets/blank.gif)
}
101
![](/assets/blank.gif)
}
102
![](/assets/blank.gif)
![](/assets/blank.gif)
/**//// <summary>
103
![](/assets/blank.gif)
/// 组权限分配与定义(New)
104
![](/assets/blank.gif)
/// </summary>
105
![](/assets/blank.gif)
/// <param name="web"></param>
106
![](/assets/blank.gif)
/// <param name="groupname"></param>
107
![](/assets/blank.gif)
/// <param name="roles"></param>
108
![](/assets/blank.gif)
/// <returns></returns>
109
![](/assets/blank.gif)
public bool AddGroupToRoles(SPWeb web, string groupname, string[] roles)
110
![](/assets/blank.gif)
![](/assets/blank.gif)
{
111
![](/assets/blank.gif)
try
112
![](/assets/blank.gif)
![](/assets/blank.gif)
{
113
![](/assets/blank.gif)
string[] _roles = roles;
114
![](/assets/blank.gif)
int rolemun = _roles.Length;
115
![](/assets/blank.gif)
116
![](/assets/blank.gif)
if (IsExistGroup(web, groupname))
117
![](/assets/blank.gif)
![](/assets/blank.gif)
{
118
![](/assets/blank.gif)
//改变站点继承权
119
![](/assets/blank.gif)
if (!web.HasUniqueRoleDefinitions)
120
![](/assets/blank.gif)
![](/assets/blank.gif)
{
121
![](/assets/blank.gif)
web.RoleDefinitions.BreakInheritance(true, true);//复制父站点角色定义并且保持权限
122
![](/assets/blank.gif)
}
123
![](/assets/blank.gif)
124
![](/assets/blank.gif)
//站点继承权改变后重新设置状态
125
![](/assets/blank.gif)
web.AllowUnsafeUpdates = true;
126
![](/assets/blank.gif)
127
![](/assets/blank.gif)
//组权限分配与定义(New)
128
![](/assets/blank.gif)
SPRoleDefinitionCollection roleDefinitions = web.RoleDefinitions;
129
![](/assets/blank.gif)
SPRoleAssignmentCollection roleAssignments = web.RoleAssignments;
130
![](/assets/blank.gif)
SPMember memCrossSiteGroup = web.SiteGroups[groupname];
131
![](/assets/blank.gif)
SPPrincipal myssp = (SPPrincipal)memCrossSiteGroup;
132
![](/assets/blank.gif)
SPRoleAssignment myroles = new SPRoleAssignment(myssp);
133
![](/assets/blank.gif)
SPRoleDefinitionBindingCollection roleDefBindings = myroles.RoleDefinitionBindings;
134
![](/assets/blank.gif)
if (rolemun > 0)
135
![](/assets/blank.gif)
![](/assets/blank.gif)
{
136
![](/assets/blank.gif)
for (int i = 0; i < rolemun; i++)
137
![](/assets/blank.gif)
![](/assets/blank.gif)
{
138
![](/assets/blank.gif)
roleDefBindings.Add(roleDefinitions[_roles[i]]);
139
![](/assets/blank.gif)
}
140
![](/assets/blank.gif)
}
141
![](/assets/blank.gif)
roleAssignments.Add(myroles);
142
![](/assets/blank.gif)
return true;
143
![](/assets/blank.gif)
}
144
![](/assets/blank.gif)
return false;
145
![](/assets/blank.gif)
}
146
![](/assets/blank.gif)
catch (Exception)
147
![](/assets/blank.gif)
![](/assets/blank.gif)
{
148
![](/assets/blank.gif)
149
![](/assets/blank.gif)
throw;
150
![](/assets/blank.gif)
}
151
![](/assets/blank.gif)
}
152
![](/assets/blank.gif)
153
![](/assets/blank.gif)
protected void btnCreateSite_Click(object sender, EventArgs e)
154
![](/assets/blank.gif)
![](/assets/blank.gif)
{
155
156
![](/assets/blank.gif)
try
157
![](/assets/blank.gif)
![](/assets/blank.gif)
{
158
![](/assets/blank.gif)
SPSite site = new SPSite("http://contososrv:8010/");
159
![](/assets/blank.gif)
160
![](/assets/blank.gif)
//string spwt = SPWebTemplate.WebTemplateSTS;//默认选择协作站点模板
161
![](/assets/blank.gif)
162
![](/assets/blank.gif)
web = site.OpenWeb("Test/");
163
![](/assets/blank.gif)
web.AllowUnsafeUpdates = true;
164
![](/assets/blank.gif)
SPMember memUser = web.Users[0];
165
![](/assets/blank.gif)
SPUser suser = web.Users[0];
166
![](/assets/blank.gif)
167
![](/assets/blank.gif)
168
![](/assets/blank.gif)
//新建组
169
![](/assets/blank.gif)
//web.SiteGroups.Add("skyteam3", memUser, suser, "new skyteam");
170
![](/assets/blank.gif)
//web.SiteGroups["skyteam3"].AddUser("adr\\administrator", "pccai@adr.svic1", "蔡", "系统维修人员");
171
![](/assets/blank.gif)
//web.Groups["skyteam2"].AddUser("adr\\pccai", "pccai@adr.svic1", "蔡", "系统维修人员");
172
![](/assets/blank.gif)
173
![](/assets/blank.gif)
174
![](/assets/blank.gif)
//新建子站点
175
![](/assets/blank.gif)
string currentTemplate = web.WebTemplate;
176
![](/assets/blank.gif)
//web.Webs.Add("Test2", "站点名称2", "站点描述2", 2052, "_GLOBAL_#0", true, false);
177
![](/assets/blank.gif)
178
![](/assets/blank.gif)
179
![](/assets/blank.gif)
//打开子站点
180
![](/assets/blank.gif)
SPWeb web2 = site.OpenWeb("Test/Test2");
181
![](/assets/blank.gif)
web2.AllowUnsafeUpdates = true;
182
![](/assets/blank.gif)
// web2.SiteGroups.Add("skyteam6", memUser, suser, "new skyteam");//新建组
183
![](/assets/blank.gif)
// web2.SiteGroups["skyteam6"].AddUser("adr\\administrator", "administrator@adr.svic1", "边", "系统维修人员");
184
![](/assets/blank.gif)
185
![](/assets/blank.gif)
186
![](/assets/blank.gif)
//改变站点继承权
187
![](/assets/blank.gif)
if (!web2.HasUniqueRoleDefinitions)
188
![](/assets/blank.gif)
![](/assets/blank.gif)
{
189
![](/assets/blank.gif)
web2.RoleDefinitions.BreakInheritance(true, true);
190
![](/assets/blank.gif)
}
191
![](/assets/blank.gif)
192
![](/assets/blank.gif)
//站点继承权改变后重新设置状态
193
![](/assets/blank.gif)
web2.AllowUnsafeUpdates = true;
194
![](/assets/blank.gif)
195
![](/assets/blank.gif)
196
![](/assets/blank.gif)
197
![](/assets/blank.gif)
//添加权限级别 (Role)
198
![](/assets/blank.gif)
//SPRoleDefinition roleDefinition = new SPRoleDefinition();
199
![](/assets/blank.gif)
//roleDefinition.Name = "项目角色";
200
![](/assets/blank.gif)
//roleDefinition.Description = "项目角色可以批准所有项目情况.";
201
![](/assets/blank.gif)
//roleDefinition.BasePermissions = SPBasePermissions.FullMask ^ SPBasePermissions.ManagePermissions;
202
![](/assets/blank.gif)
//web2.RoleDefinitions.Add(roleDefinition);
203
![](/assets/blank.gif)
204
![](/assets/blank.gif)
205
![](/assets/blank.gif)
//更改权限级别 (Permissions)
206
![](/assets/blank.gif)
SPRoleDefinitionCollection roles = web2.RoleDefinitions;
207
![](/assets/blank.gif)
SPRoleDefinition roleDefinition1 = roles["读取"];
208
![](/assets/blank.gif)
roleDefinition1.BasePermissions = SPBasePermissions.AddListItems |
209
![](/assets/blank.gif)
SPBasePermissions.BrowseDirectories |
210
![](/assets/blank.gif)
SPBasePermissions.EditListItems |
211
![](/assets/blank.gif)
SPBasePermissions.DeleteListItems |
212
![](/assets/blank.gif)
SPBasePermissions.AddDelPrivateWebParts;
213
![](/assets/blank.gif)
roleDefinition1.Update();
214
![](/assets/blank.gif)
215
![](/assets/blank.gif)
216
![](/assets/blank.gif)
//用户权限分配与定义(New)
217
![](/assets/blank.gif)
SPRoleDefinitionCollection roleDefinitions = web2.RoleDefinitions;
218
![](/assets/blank.gif)
SPRoleAssignmentCollection roleAssignments = web2.RoleAssignments;
219
![](/assets/blank.gif)
SPRoleAssignment roleAssignment = new SPRoleAssignment("adr\\administrator", "administrator@Somewhere.com", "Display_Name", "Notes");
220
![](/assets/blank.gif)
SPRoleDefinitionBindingCollection roleDefBindings = roleAssignment.RoleDefinitionBindings;
221
![](/assets/blank.gif)
roleDefBindings.Add(roleDefinitions["项目角色"]);
222
![](/assets/blank.gif)
roleAssignments.Add(roleAssignment);
223
![](/assets/blank.gif)
224
![](/assets/blank.gif)
225
![](/assets/blank.gif)
//权限定义(Old)
226
![](/assets/blank.gif)
//SPRoleCollection siteGroups = web2.Roles;
227
![](/assets/blank.gif)
//siteGroups.Add("skyteam6", "Description", SPRights.ManageWeb | SPRights.ManageSubwebs);
228
![](/assets/blank.gif)
229
![](/assets/blank.gif)
230
![](/assets/blank.gif)
//获得权限定义
231
![](/assets/blank.gif)
SPRoleDefinition sprole = roleDefinitions.GetByType(SPRoleType.Reader);
232
![](/assets/blank.gif)
string spname = sprole.Name;
233
![](/assets/blank.gif)
234
![](/assets/blank.gif)
235
![](/assets/blank.gif)
//组权限分配与定义(New)
236
![](/assets/blank.gif)
SPRoleDefinitionCollection roleDefinitions1 = web2.RoleDefinitions;
237
![](/assets/blank.gif)
SPRoleAssignmentCollection roleAssignments1 = web2.RoleAssignments;
238
![](/assets/blank.gif)
SPMember memCrossSiteGroup = web2.SiteGroups["skyteam6"];
239
![](/assets/blank.gif)
SPPrincipal myssp = (SPPrincipal)memCrossSiteGroup;
240
![](/assets/blank.gif)
SPRoleAssignment myroles = new SPRoleAssignment(myssp);
241
![](/assets/blank.gif)
SPRoleDefinitionBindingCollection roleDefBindings1 = myroles.RoleDefinitionBindings;
242
![](/assets/blank.gif)
roleDefBindings1.Add(roleDefinitions1["设计"]);
243
![](/assets/blank.gif)
roleDefBindings1.Add(roleDefinitions1["读取"]);
244
![](/assets/blank.gif)
roleAssignments1.Add(myroles);
245
![](/assets/blank.gif)
246
![](/assets/blank.gif)
247
![](/assets/blank.gif)
//组权限分配与定义(Old)
248
![](/assets/blank.gif)
//SPMember member = web2.Roles["skyteam"];
249
![](/assets/blank.gif)
//web2.Permissions[member].PermissionMask =
250
![](/assets/blank.gif)
// SPRights.ManageLists | SPRights.ManageListPermissions;
251
![](/assets/blank.gif)
252
![](/assets/blank.gif)
253
![](/assets/blank.gif)
254
![](/assets/blank.gif)
//更改列表权限(Old)
255
![](/assets/blank.gif)
//SPList list = site.Lists["通知"];
256
![](/assets/blank.gif)
//SPPermissionCollection perms = list.Permissions;
257
![](/assets/blank.gif)
//SPUserCollection users = site.Users;
258
![](/assets/blank.gif)
//SPMember member = users["ADR\\pccai"];
259
![](/assets/blank.gif)
//list.Permissions[member].PermissionMask = SPRights.AddListItems | SPRights.EditListItems;
260
![](/assets/blank.gif)
261
![](/assets/blank.gif)
262
![](/assets/blank.gif)
263
![](/assets/blank.gif)
// PermissionCollection perc = web.Permissions;
264
![](/assets/blank.gif)
//perc.AddUser("adr\\administrator", "administrator@adr.srvc1", "title", "Notes", PortalRight.AllSiteRights);
265
![](/assets/blank.gif)
// SecurityManager.AddRole(context, "title", "descriptions", PortalRight.ManageSite);
266
![](/assets/blank.gif)
267
![](/assets/blank.gif)
268
269
![](/assets/blank.gif)
}
270
![](/assets/blank.gif)
catch (Exception)
271
![](/assets/blank.gif)
![](/assets/blank.gif)
{
272
![](/assets/blank.gif)
throw;
273
![](/assets/blank.gif)
}
274
![](/assets/blank.gif)
275
![](/assets/blank.gif)
}