1

ユーザーが追加のOutlookメールボックスに対する完全なメールボックス権限を持っているかどうかを判断する最良の方法は何ですか?

ユーザーがアクセスできるメールボックスの検索フォルダーを使用するために、償還を使用しています。特定のフォルダーに対する編集者権限しかない場合、検索フォルダーにアクセス許可を与えることができないため、検索フォルダーを表示できません。検索フォルダを表示する唯一の方法は、(Exchange経由で)完全なメールボックス権限を持っているかどうかです。そのため、完全なメールボックス権限があるかどうかに応じてロジックを分岐する必要がありますが、このチェックの方法がわかりません。 。

メールボックスのルートフォルダのアクセス制御エントリを確認すると、次のコードを使用する完全な権限があります。これはnullです。

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 に答える