我使用下面的代码哪个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