Где взять учетные данные для использования для Authentication.asmx?
Для одного из наших сайтов SharePoint с поддержкой FBA нам необходим доступ к различным веб-службам. Я знаю, что нам нужно вызвать Authentication.asmx, прежде чем мы сделаем любой другой вызов веб-службы SP.
Как получить имя пользователя и пароль для входа в систему для передачи в службу Authentication.asmx?
Благодарю.
Обновление: я попробовал решение Марека с известным именем пользователя и паролем и получил 401 для Authentication.asmx. Так что, вероятно, некоторые настройки отключены. Админ смотрит на это.
1 ответ
MembershipUser user = Membership.GetUser();
string username = user.UserName;
string password = user.GetPassword();
Authentication auth = new Authentication();
auth.CookieContainer = new CookieContainer();
LoginResult result = auth.Login(username, password);
if (result.ErrorCode == LoginErrorCode.NoError)
{
CookieCollection cookies = auth.CookieContainer.GetCookies(new Uri(auth.Url));
Cookie authCookie = cookies[result.CookieName];
Lists lists = new Lists();
lists.CookieContainer = new CookieContainer();
lists.CookieContainer.Add(authCookie);
lists.GetListCollection();
}
Однако, в зависимости от настроек провайдера членства (пароль хранится в простом тексте, зашифрован или хеширован? Требуется ли передать секретный ответ для получения пароля?) Получение пароля может быть более трудным или даже невозможным, и вам потребуется попросить пользователя об этом.