Composer 中的 ThingWorx 模型定義 > 建模 > 物範本 > 遠端範本 > 物件存在 > 物件存在報告策略物件:安全性設定
物件存在報告策略物件:安全性設定
安全性至關重要。請確保您的 ThingWorx 使用者配置了最小必要可見度、設計時間與執行時間權限。此外,也請確保平台自動執行的任何服務都像在具有最低所需權限的使用者前後關聯中一樣完成。
策略物件的 RunAsUser 組態
報告策略有一個組態欄位,名為 RunAsUser,必須為其指定權限,才能執行平台動作。依預設,此組態的值是根本沒有權限的內建使用者。
如果自訂 ReportingStrategy 需要進一步存取平台,例如物件的內容值,必須變更 RunAsUser 組態。為安全起見,只有管理員可以修改此設定。針對 RunAsUser 指定的使用者需要「策略物件」所需的可見度與讀取權限。
對 RunAsUser 組態進行疑難排解
如果 RunAsUser 的權限無效或不足,會阻止您的裝置被標記為報告 (isReporting 設定為 true)。任何失敗的報告評估後,記錄訊息都會顯示在「應用程式記錄檔」中,因不存在 RunAsUser 而導致發生的失敗或在嘗試呼叫您策略的 ReportingAlgorithm 期間發生的安全性例外也包括在內。您可以直接呼叫裝置物件中的 EvaluateReporting 來測試評估,及監視訊息記錄。請注意,如果 isReporting 之前設定為 true,而評估判定裝置未正常連線,則評估會將其設定為 false
服務安全性摘要
服務
EntityOf
類型
描述
EvaluateReporting
可報告
裝置物件
這是觸發「報告」評估的進入點。計時器、WebSocket 繫結以及可能會影響裝置連線狀況的其他自訂事件會使用此服務。
此服務會將其參數傳遞至 ReportingAlgorithm。將資訊傳遞至 ReportingAlgorithm 的建議方式就是使用此服務。
此服務會呼叫 ReportingStrategy.ReportingAlgorithm
SetReportingStrategy
可報告
裝置物件
可將裝置的 Strategy 內容更新為裝置將用來確定存在性之策略的 THINGNAME
ReportingAlgorithm
ReportingStrategy
策略物件
可評估物件以確定存在性。在策略 RunAsUser 組態的使用者前後關聯中執行可防止未經授權的存取。
建議您將盡可能多的資訊傳遞到 ReportingAlgorithm 中作為引數 (EvaluateReporting 的引數),而不要從此服務內存取 ThingWorx 實體。
* 
可以取代此方法。
ThingWorx 事件與 EvaluateReporting
在某些情況下,您可能會因 ThingWorx 事件而需要執行 EvaluateReporting 服務。例如,您可能會想要在計時器初次觸發時執行服務。請記住,ThingWorx 事件會在觸發事件之使用者的前後關聯中執行。因此,這些使用者必須擁有適當權限才能執行 EvaluateReporting 服務以及對於 ReportingStrategy.ReportingAlgorithm 的後續呼叫。