2012-10-04 52 views
0

我們需要找出多少條記錄(行)在2011年CRM特定的實體有使用在PrincipalObjectAccess(POA)表中的AccessRightsMask列寫權限SQL。如何知道哪些的privilages用戶已基於AccessRightMask值PrincipalObjectAccess

在對CrmSdk中AccessRights的枚舉器中,WriteAccess的掩碼值給出爲2,但是當我們在POA表上搜索值2時,沒有找到此AccessRightsMask值的記錄。

查詢什麼我們應該使用返回其中一個用戶或組有寫權限的對象的行?

回答

2

你幾乎可以肯定不會發現許多對象,其中只有校長有寫權限,因爲讀訪問幾乎總是被要求去用它和一大堆其他的東西。 你正在把這當成面具嗎?即不查找值= 2,但倒數第二位= 1? 您的查詢想是這樣的:

select foo from <POA table> where AccessRightsMask & 2 =2

而POA表,因爲據我所知,只有那些已經明確共享對於普通的安全模式,即記錄外記錄的訪問權限,或權利已經在重新養育子女方面進行了級聯。根據安全角色,團隊成員,主體相對於對象的BU等,「正常」訪問被動態地計算出來。

我覺得有必要問的大問題 - 「爲什麼你需要嘗試和得到這個信息,爲什麼這種做法」

+0

Thanks @AdamV。實際上,我們已經用我們自己的rolemangement編程方式分享了這些記錄。我們定義了角色以及他們在幾個實體上的訪問權限,比如讀,寫,刪除,共享....在我們的共享中,幾乎不應該給予寫訪問的記錄是給予寫權限。所以我們只是想分析記錄我們分享部分的錯誤。 –

相關問題