Dynamics 365 Web API模擬使用者
在實際業務場景中,使用者只能看到自己許可權內的資料,比如客戶資料,公司的銷售員只能看到屬於自己的客戶資料,但有這麼個場景又需要某個銷售員A去讀取另一個銷售員B的資料(當然他是沒有許可權讀取的),這種場景下該怎麼辦,當然這個假設場景不一定合理,只是一種假設來引出本篇要講的內容。
上述場景即可以使用模擬使用者來操作,在JS中讀取B的資料時,我們可以模擬B的許可權而不是當前A的許可權。
只需在常規的get請求頭部加一個MSCRMCallerID,附上需要模擬的使用者的userid
var req = new XMLHttpRequest();
req.open("get",Xrm.Page.context.getClientUrl() + "/api/data/v8.2/accounts(3E6DB783-B65C-E811-80DC-0017FA01322A)?$select=name", false);
req.setRequestHeader("Accept", "application/json");
req.setRequestHeader("Content-Type", "application/json; charset=utf-8");
req.setRequestHeader("OData-MaxVersion", "4.0");
req.setRequestHeader("OData-Version", "4.0");
req.setRequestHeader("Prefer", "odata.include-annotations=\"OData.Community.Display.V1.FormattedValue\"");
req.setRequestHeader("MSCRMCallerID", "FCCBB09D-D559-E811-80D4-0017FA01322A");
req.send();
if (req.status == 200)
var data= JSON.parse(req.responseText);
else
throw new Error(JSON.parse(req.responseText).error.message);
如果不加MSCRMCallerID這個頭部,則請求資料時會報錯,提示當前使用者並沒有讀取該條資料的許可權
當我們加上了MSCRMCallerID這個頭部後再執行,發現頁面會很奇怪的彈個登入框出來,如果你點了取消則會看到下述彈框,說你沒有模擬其他使用者進行操作的許可權。
只要給安全形色加上下圖中的許可權即可,這樣你就可以模擬其他使用者進行一些資料操作了。
相關文章
- Dynamics 365 Web API 批處理(batch requests)WebAPIBAT
- Dynamics 365 Web API Set Values of all Data Types using Web API in Dynamics CRM Through C#WebAPIC#
- Dynamics 365 Web Api 檢查使用者是否具有某個安全形色WebAPI
- Difference between Microsoft Dynamics 365 WEB API, Organization Service and Organization Data ServicROSWebAPI
- Dynamics 365(三)WEB資源使用Web
- 遊戲模擬——Position based dynamics遊戲
- Dynamics 365中的Client API form context (formContext)clientAPIORMContext
- Dynamics 365 Web Api 建立與更新返回記錄ID及更新後的資料記錄WebAPI
- Dynamics 365 基於ADFS 2016(4.0)的OAuth2 CRM Web API RequestOAuthWebAPI
- Dynamics 365 Portal如何清除快取快取
- Dynamics 365(on-premises) Portal 的安裝REM
- Dynamics 365 控制右側欄的介面
- Dynamics 365(online) V9.0 new features(八:虛擬實體)
- 如何將Dynamics CRM 2016(on-premises)升級到Dynamics 365(on-premises)REM
- 模擬web高併發Web
- Dynamics 365(online) V9.0 new features for developers(三:Web 資源本地化)DeveloperWeb
- Dynamics 365(online) V9.0 new features for developers(一:客戶端 API 增強功能)Developer客戶端API
- Dynamics 365擬2019年春落地中國,微軟智慧雲三駕馬車聚齊微軟
- Dynamics 365(online) V9.0 new features for developers(二:JavaScript Web 資源依賴性)DeveloperJavaScriptWeb
- Dynamics 365(online) V9.0 new features(六:移動端支援 iFrame 和 Web 資源)Web
- Dynamics 365 JS中如何查詢使用者對實體是否有某個操作許可權JS
- Dynamics CRM 365零基礎入門學習(一)Dynamics介紹以及開發工具配置
- 模擬登入之web監控Web
- Dynamics 365(online) V9.0 new features(五:sitemap)
- 0ffice365 Calendar APIAPI
- 爬蟲方式(模擬使用者)爬蟲
- Dynamics 365的通話記錄phonecall,ActivityPointer和phonecall的關係
- Web 模擬終端部落格系統Web
- web模擬終端部落格系統Web
- Office 365 API平臺概覽API
- Dynamics 365 基於Sql Server2017的All In One安裝SQLServer
- WebRTC本地選擇codec(web本地模擬)Web
- 模擬介面請求到web伺服器Web伺服器
- ASP.NET Web API與Owin OAuth:呼叫與使用者相關的Web APIASP.NETWebAPIOAuth
- 前端模擬使用者的複製操作前端
- Dynamics 365中的事件框架與事件執行管道(Event execution pipeline)事件框架
- Dynamics 365 on-premises9.0中文版安裝SrsDataConnector出錯REM
- Dynamics 365 可編輯子網格的欄位禁用不可編輯