我使用下面的代碼哪個Windows帳戶用於將文件上傳到SharePoint文檔庫?
WindowsIdentity wIdb4 = WindowsIdentity.GetCurrent();
string name = wIdb4.Name;
在工作流中顯示哪些用戶帳戶被用來上傳文檔。當我在工作流程歷史記錄事件中寫入上述字符串時,即使我使用網站集管理員登錄,它也會始終返回NETWORK SERVICE。誰能告訴我這是爲什麼?
我使用下面的代碼哪個Windows帳戶用於將文件上傳到SharePoint文檔庫?
WindowsIdentity wIdb4 = WindowsIdentity.GetCurrent();
string name = wIdb4.Name;
在工作流中顯示哪些用戶帳戶被用來上傳文檔。當我在工作流程歷史記錄事件中寫入上述字符串時,即使我使用網站集管理員登錄,它也會始終返回NETWORK SERVICE。誰能告訴我這是爲什麼?
嘗試使用:
SPContext.Current.Web.CurrentUser.Name
編輯:
我想可能沒有在您的工作流程相關的SPContext。
他按照您的工作流程解決了什麼問題?
workflowProperties.OriginatorUser
上述工作流將總是作爲一個服務帳戶(通常爲IIS應用程序池帳戶)
實際上,應用程序池帳戶是名爲xyz \ myusername的用戶 其中xyz是我的域,myusername是Windows帳戶...仍然工作流將當前用戶顯示爲網絡服務 – ria 2010-02-23 17:34:08
將它比不同方式運行?如果是的話,爲什麼它會不同? – ria 2010-02-23 17:42:17
是的。 WindowsIdentity.GetCurrent()將始終返回進程標識(即網絡服務) – zincorp 2010-02-23 18:12:04
足夠奇怪...在我的開發機器上,我得到一個NullReference例外使用SPCOntext.Current ... 當我調試它說SPContext.Current爲空......你能告訴我爲什麼這樣嗎? – ria 2010-02-24 05:51:29