我有一个在DEV中工作的代码,但在UAT中却没有。
我无法检索被授予文件夹权限的用户列表,这些用户是以下用户:
网站内容>列表>查找记录(文件夹内容类型)3个点> 高级>与...共享
下面是我的代码:
主要
Log("folder.Item.RoleAssignments = " + folder.Item.RoleAssignments);
node.Attributes.Add("access", GetAccessXml(folder.Item.RoleAssignments, out originalAccess));
Log("originalAccess = " + originalAccess);
GetAccessXml
private string GetAccessXml(SPRoleAssignmentCollection roleAssignments, out string originalAccess)
{
var list = roleAssignments.GetUserWithReadPermissionOnly();
Log("list = " + list.ToString());
var entries = "<Entities Append=\"False\" Error=\"\" Separator=\";\" MaxHeight=\"3\">{0}</Entities>";
var entryTemplate = "<Entity Key=\"{0}\" DisplayText=\"{1}\" IsResolved=\"True\" Description=\"{0}\"><MultipleMatches /></Entity>";
var entryBuilder = new StringBuilder();
var csv = new StringBuilder();
//LOG FILES shows that this loop was not entered <<============
foreach (var principal in list)
{
Log("principal.Name = " + principal.Name);
var entry = entryTemplate;
entryBuilder.AppendFormat(entry, principal.LoginName, principal.Name);
csv.Append(principal.LoginName).Append(",");
}
originalAccess = csv.ToString().TrimEnd(',');
return entries.FormatWith(entryBuilder);
}
生成的日志:
- folder.Item.RoleAssignments = Microsoft.SharePoint.SPRoleAssignmentCollection
- list = System.Collections.Generic.List`1[Microsoft.SharePoint.SPPrincipal]
- originalAccess =
日志文件显示,在GetAccessXml
方法中,我的list
变量为空。
考虑到DEV环境正在运行,但UAT无法运行,我是否可以解决此问题?谢谢