Dynamics 365 Web Api 檢查使用者是否具有某個安全形色
使用者和安全形色的關係是N:N,所以要查詢使用者是否擁有某個安全形色即去查詢對應的中間表取值即可,那web api如何來查詢N:N關係。
先看下查詢的xml,這裡的entity name即是實體關係名稱
var roleXml = "<fetch no-lock='true' output-format='xml-platform'>\
<entity name='systemuserroles'>\
<attribute name='systemuserid'/>\
<link-entity name='role' from='roleid' to ='roleid'>\
<filter type='and'>\
<condition attribute='name' operator='like' value='%審批%'></condition>\
</filter>\
</link-entity>\
<filter type='and'>\
<condition attribute='systemuserid' operator='eq' value='" + userId + "'></condition>\
</filter></entity></fetch>";
但在發起request時的entityName卻是systemuserrolescollection,這個你可以在後設資料列表中查詢到,後設資料地址如下,對應到你自己的系統
https://org.domain.com:446/api/data/v8.2/$metadata
var userRole = execFecthXml('systemuserrolescollection', roleXml);
function execFecthXml(entityName, fetchXml) {
var fetchStr = this.getWebAPIUrl() + entityName + "?fetchXml=" + fetchXml;
var req = CRMSdk.ajax.getXHR();
req.open("GET", encodeURI(fetchStr), 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.send();
if (req.status == 200)
return JSON.parse(req.responseText).value;
else
throw new Error(JSON.parse(req.responseText).error.message);
}
相關文章
- Dynamics 365 Web API模擬使用者WebAPI
- Dynamics 365 JS中如何查詢使用者對實體是否有某個操作許可權JS
- 如何檢查某個使用者是否具有某個許可權物件上定義的某種許可權物件
- 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#
- php檢查某個日期是否有效PHP
- Difference between Microsoft Dynamics 365 WEB API, Organization Service and Organization Data ServicROSWebAPI
- Dynamics 365(三)WEB資源使用Web
- 如何檢查某使用者是否分配了某ABAP許可權物件物件
- 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
- linux Shell 命令列-05-test 檢查某個條件是否成立Linux命令列
- 檢查使用者名稱是否使用介面
- Vue檢查使用者名稱是否使用Vue
- Dynamics 365 Portal如何清除快取快取
- Apache檢測某模組是否生效Apache
- javascript,檢測object物件中是否存在某個屬性JavaScriptObject物件
- c#安全形色示例C#
- [Linux shell]查詢某目錄下檔案是否包含某個字串Linux字串
- Dynamics 365(on-premises) Portal 的安裝REM
- Dynamics 365 控制右側欄的介面
- 如何檢查一個物件是否為空物件
- LINUX中如何檢視某個埠是否被佔用Linux
- oracle實用sql(12)--查詢資料是否在某個使用者下各個表的各個列OracleSQL
- 檢查使用者是否用了預設密碼(轉)密碼
- python怎麼查詢字串中是否包含某個字串Python字串
- JS實現檢查給定時間範圍是否在每天的某個時間段內JS
- SQL2008查詢某資料庫中的某個值是否存在SQL資料庫
- 檢視某個使用者在某個物件的許可權,可以查dba_tab_privs 或者user_tab_privs物件
- python中用正規表示式檢查密碼是否安全Python密碼
- 如何檢視某個查詢用了多少TempDB空間
- 檢查udp埠是否可用?UDP
- 檢查連線是否有效
- 檢查LOGO是否存在Go
- js如何判斷陣列具有某個元素JS陣列
- 如何將Dynamics CRM 2016(on-premises)升級到Dynamics 365(on-premises)REM
- Dynamics 365(online) V9.0 new features for developers(三:Web 資源本地化)DeveloperWeb