SPFile.CheckoutBy выдает System / account вместо моего логина - PullRequest
0 голосов
/ 18 января 2011

Описание: я пользователь user1 (который также является пользователем пула приложений на sharepoint, поэтому при входе в систему с пользователем user1 появляется приветствие системной учетной записи).

В моем коде я хочу проверить, извлекается ли файл пользователем 1, поэтому результат следующий:

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

всегда ложно (что неверно), значение CheckOutby (система Sharepoint), а значение имени пользователя (user1).

Как решить эту проблему?

Я использую SP2010

Ответы [ 3 ]

2 голосов
/ 18 января 2011

Вы не должны использовать учетную запись пользователя, которая используется в качестве учетной записи пула приложений, поскольку вы всегда будете видеть системную учетную запись.В этом случае лучше всего изменить учетную запись пула приложений на другую, которая не будет использоваться для других целей.

0 голосов
/ 20 января 2011

Спасибо всем, вот как я это решил:

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

предоставление sharepoint \ system с обеих сторон, что было исправлено.

0 голосов
/ 18 января 2011

Откуда взялся username?

Попробуйте это:

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

Это должно сделать сравнение на SPUser.Id

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...