1

确定用户是否对其他 Outlook 邮箱拥有完整邮箱权限的最佳方法是什么?

我正在使用 Redemption 在用户有权访问的邮箱上使用搜索文件夹。如果他们只有某些文件夹的编辑权限,他们就看不到搜索文件夹,因为无法授予搜索文件夹权限。似乎使搜索文件夹可见的唯一方法是它们是否具有完整的邮箱权限(通过 Exchange 提供),因此我需要根据它们是否具有完整的邮箱权限来分支我的逻辑,但我无法弄清楚如何进行此检查.

如果我检查邮箱根文件夹的访问控制条目,我有权使用以下代码,它为空:

var folder = additionalMailbox.RootFolder;
var accessControlList = folder.ACL;
var currentUserRights = accessControlList.ACEofAddressEntry(currentUserAddressEntry);
4

1 回答 1

1

我通过测试查看用户是否可以看到附加邮箱上的搜索文件夹来做到这一点,因为这些只有在您拥有完全权限时才可见。然后我测试了搜索文件夹对象的 count 属性,当没有搜索文件夹时会抛出 COMException:

    private bool SearchFoldersVisible(RDOStore2 mailbox)
    {
        var searchFolders = mailbox.Searches;
        try
        {
            var throwErrorIfNoAccess = searchFolders.Count;
        }
        catch (COMException)
        {
            return false;
        }
        finally
        {
            Marshal.ReleaseComObject(searchFolders);
        }
        return true;

    }
于 2012-09-27T10:18:00.167 回答