【发布时间】:2014-01-23 13:43:28
【问题描述】:
我想列出每个 Outlook 文件夹的权限。我可以添加权限,但我的代码会删除所有旧权限并设置新权限。
这是我添加权限的代码:
private void updateFolderPermission(Folder folder, String mail, int per)
{
UserId delegateUser = new UserId(mail);
FolderPermission permission = new FolderPermission(delegateUser, FolderPermissionLevel.None);
switch (per)
{
case 0:
{
permission = new FolderPermission(delegateUser, FolderPermissionLevel.Owner);
break;
}
case 1:
{
permission = new FolderPermission(delegateUser, FolderPermissionLevel.PublishingEditor);
break;
}
case 2:
{
permission = new FolderPermission(delegateUser, FolderPermissionLevel.Editor);
break;
}
case 3:
{
permission = new FolderPermission(delegateUser, FolderPermissionLevel.PublishingAuthor);
break;
}
case 4:
{
permission = new FolderPermission(delegateUser, FolderPermissionLevel.Author);
break;
}
case 5:
{
permission = new FolderPermission(delegateUser, FolderPermissionLevel.NoneditingAuthor);
break;
}
case 6:
{
permission = new FolderPermission(delegateUser, FolderPermissionLevel.Reviewer);
break;
}
case 7:
{
permission = new FolderPermission(delegateUser, FolderPermissionLevel.Contributor);
break;
}
case 8:
{
permission = new FolderPermission(delegateUser, FolderPermissionLevel.None);
break;
}
}
folder.Permissions.Add(permission);
folder.Update();
}
我已经调试过代码,但函数_permissions_ 显示_count = 0_。
我现在的问题是: - 如何向现有权限集添加权限? - 如何列出这个文件夹的所有权限?
【问题讨论】:
-
没人知道吗?
-
获取文件夹权限的方法如下:
PropertySet propSet = new PropertySet(BasePropertySet.IdOnly, FolderSchema.DisplayName, FolderSchema.EffectiveRights);Folder calfld = Folder.Bind(service, WellKnownFolderName.Calendar, propSet);Console.WriteLine("The effective rights of the " + calfld.DisplayName + " folder is " + calfld.EffectiveRights); -
对不起,我看到你问的是烫发而不是权利。我会看看我能不能解决这个问题。
-
嗨咪咪,我会帮我很大的忙。谢谢
标签: c# permissions exchangewebservices folder-permissions