2014-09-25 58 views
2

使用CRM 2011/2013 Web服務創建外部MVC網站。必須根據對某個自定義實體的寫入訪問來隱藏/顯示應用程序的某些部分。像如何使用CRM 2011/2013 sdk查詢特定於實體(不含實體記錄的ID)的特權?

http://mileyja.blogspot.de/2011/05/using-retrieveuserprivileges-requests.html

找到解決方案,在這裏,RetrieveUserPrivilegesRequest需要systemuser id和實體記錄id作爲參數。該主題的解決方法使用.First()獲取記錄並檢索權限。由於沒有記錄的可能性,解決方案不具有說服力。

作爲RetrieveUserPrivilegesRequest的其他解決方案返回特權的Guid-s。這些可以從CRM實例更改爲實例。角色也讓事情變得複雜。有誰知道如果存在一個直接的方式 驗證系統用戶是否有寫訪問某個實體?

+0

我認爲這是你在找什麼:http://stackoverflow.com/questions/16038346/how-to-get-current-user-privileges-in-ms-dynamics-crm-在服務器端 – Piyush 2014-09-26 08:31:35

+0

謝謝,但我已經通過鏈接。它並沒有真正的幫助。如前所述,它將Guid-s和這些更改系統返回給系統。我正在尋找更通用的方法。 – 2014-09-26 09:39:31

+0

用戶擁有的一組特權被緩存在Web服務器上,您應該可以通過單條消息獲取該特權,而無需再去查詢其他任何內容以匹配它們。這種緩存是爲什麼你應該使用權限來測試用戶的訪問權限,而不是安全角色的成員資格(不緩存),所以你的方法是正確的。請注意,結果集應該給用戶擁有的'最深'特權作爲用戶及其團隊中所有角色的總和。這對檢查你的用途是足夠的。不幸的是,我不知道你需要使用的正確的代碼位。 – AdamV 2014-09-26 14:46:29

回答

相關問題