2011-01-18 3 views
0

설명 : 저는 user1 사용자입니다.이 사용자는 sharepoint 응용 프로그램 풀의 사용자이기 때문에 사용자 user1과 로그온하면 환영 시스템 계정이 표시됩니다. (CheckOutby 값은 (정확하지 않은)SPFile.CheckoutBy는 내 로그인 대신 시스템/계정을 제공합니다.

file.CheckedOutBy.LoginName.ToLower() == userName.ToLower()) 

항상 false입니다 : 내 코드에서

, 난 파일이 사용자 1에 의해 선택된 경우 테스트하려는, 그래서 다음의 결과는 Sharepoint 시스템), username 값은 (user1)입니다.

해결 방법?

username에서 온 않습니다 SP2010

+0

이 속성은 사용하지 마십시오. LockedByUser를 사용해보십시오. –

답변

0

모두 감사합니다,이 내가 그것을 해결하는 방법입니다 수정되었습니다 양쪽에 셰어 \ 시스템을 제공

file.CheckedOutBy.LoginName.ToLower() == web.CurrentUser.LoginName.ToLower() 

.

0

를 사용하고 계십니까?

이 시도 : 당신은 항상 볼 수 있기 때문에 SPUser.Id에 비교를해야

SPWeb web = SPContext.Current.Web; //get it from somewhere 
if(file.CheckedOutBy == web.EnsureUser(username)) { 
    //do something 
} 

2

당신이하는 응용 프로그램 풀 계정으로 사용되는 사용자 계정을 사용해서는 안 시스템 계정. 이 경우 가장 좋은 방법은 다른 목적으로 사용되지 않을 다른 응용 프로그램 풀 계정을 변경하는 것입니다.

관련 문제