2016-07-31 74 views
0

我有幾個自定義實體。有兩個用戶:user1user2如何限制訪問MS Dynamics CRM實體列表中的特定項目

對於一個實體類型,我在列表中有2個項目。

我只需要顯示user1只有一個項目,並且只需要user2

我試圖通過共享對話框來管理權限,但它只能限制寫入權限,但我需要從列表視圖中隱藏項目。

我該怎麼做?

回答

2

CRM的安全模式限制訪問記錄使用安全角色。您可以使用「本地讀取」權限設置自定義實體,該權限僅允許用戶訪問自己讀取的記錄。

然後User1將擁有Record1,而User2擁有Record2。

或者,您也可以考慮擁有業務單位層次結構,該業務單元層次結構還會細分數據的可見性。

查看How role-based security can be used to control access to entities in Microsoft Dynamics CRMThe security model of Microsoft Dynamics CRM瞭解更多信息。

1

你可以用兩個Solution來做這個功能。

解決方案1:使用現場安全配置文件,在此解決方案中,您必須在字段定製中啓用字段安全選項,然後轉到定製>定製系統>字段安全配置文件,然後您可以看到您的字段啓用字段安全選項,然後單擊新建按鈕並選擇用戶1,然後選擇所需的權限選項,在讀取字段1的更新創建和字段2和用戶2的相同。(注意:此選項僅適用於用戶避難所管理員安全角色。)

解決方案2:您可以使用Javascript並處理此操作客戶端。首先你必須去形成自定義並添加新的庫並添加此代碼。

function onload() 
{ 
    checkUser(); 
} 

function checkUser() 
{ 
    var userID = Xrm.Page.context.getUserId(); 
    if(userID == "user1 id") 
    { 
     Xrm.Page.getControl("field1").setVisible(true); 
     Xrm.Page.getControl("field2").setVisible(false); 
    } 
    else if(userID == "user2 id") 
    { 
     Xrm.Page.getControl("field1").setVisible(false); 
     Xrm.Page.getControl("field2").setVisible(true); 
    } 
} 

,然後在加載事件的形式調用的onload功能,在和所有的東西是偉大的:)

我希望你的問題解決了:)