我有一個針對Account
實體註冊的插件,Assign
消息,Post-Operation (stage 40)
,它必須對相關記錄執行一些魔術。可以忽略插件的模擬設置嗎?
我註冊了Run in User's Context
之下的指定ADMINISTRATOR
的步驟,因爲魔法需要比用戶通常擁有的更多權限:冒充管理員似乎是正確的行爲方式。
如果我繼續嘗試使用「普通」用戶的插件(我們稱之爲TESTUSER
),我看到模擬似乎不「粘」。
假設用戶是這樣的:
ADMINISTRATOR - guid AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA
TESTUSER - guid FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
這是我在調試插件運行看:
PluginExecutionContext.UserId -> FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
PluginExecutionContext.InitiatingUserId -> FFFFFFFF-FFFF-FFFF-FFFF-FFFFFFFFFFFF
而反過來插件抱怨與GUID FFFFFFFF-FFFF-用戶FFFF-FFFF-FFFFFFFFFFFF缺少一些特權(這是事實,這正是我設置步驟在不同用戶的上下文中運行的步驟,誰擁有這些特權並且應該負責執行的操作)
我認爲如果我將Run in user context
設置爲Calling User
以外的其他值,那麼該插件會冒充另一個用戶,我是否錯了?
我沒有包含任何源代碼,因爲我不相信它是相關的(該插件正在工作,直到它因爲缺少權限而被炸燬,因爲在錯誤的用戶下運行...... )