2010-02-23 4 views
0

나는 문서를 업로드하는 데 사용중인 사용자 계정을 보여주기 위해 워크 플로우에서 다음 코드SharePoint 문서 라이브러리에 파일을 업로드하는 데 사용되는 Windows 계정은 무엇입니까?

WindowsIdentity wIdb4 = WindowsIdentity.GetCurrent(); 
    string name = wIdb4.Name; 

을 사용하고 있습니다. 워크 플로 기록 이벤트에 위에서 언급 한 문자열을 쓸 때 사이트 모음 관리자를 사용하여 로그인 한 경우에도 항상 NETWORK SERVICE가 반환됩니다. 아무도 왜 이렇게 말해 줄 수 있습니까? 사용

답변

1

시도 :

SPContext.Current.Web.CurrentUser.Name 

편집 : 워크 플로우에 관련된 SPContext이 없을 수도 생각

.

다음 워크 플로에서 다음과 같은 해결 방법은 무엇입니까?

workflowProperties.OriginatorUser 
+0

이 길과는 다른 것으로 실행됩니다? 그렇다면 왜 다른 것입니까? – ria

+0

예. WindowsIdentity.GetCurrent()는 항상 프로세스 ID (예 : NETWORK SERVICE)를 반환합니다. – zincorp

+0

이상한 ... 내 컴퓨터에서 SPCOntext.Current를 사용하여 NullReference 예외가 발생합니다 ... SPContext.Current가 null 인 경우 디버그 할 때 너 왜 나 한테 이렇게 말할 수 있니? – ria

0

언급 한 위의 워크 플로우는 항상 서비스 계정 (일반적으로 IIS 응용 프로그램 풀 계정)

+0

실제로 응용 프로그램 풀 계정은 xyz \ myusername이라는 사용자입니다 여기서 xyz는 내 도메인이고 myusername은 Windows 계정입니다 ... 여전히 워크 플로우는 현재 사용자를 네트워크 서비스로 보여줍니다 – ria

관련 문제