Добавление пользователя FBA в список пользователей SharePoint
-
10-10-2019 - |
Вопрос
Мы успешно добавляем нового пользователя к нашему поставщику аутентификации на основе форм, используя класс членства в C#. Мы можем войти в систему на некоторых общественных сайтах, но после попытки искать нового созданного пользователя в сборщике людей, которого он не показывает.
Похоже, мы должны добавить запись пользователя в базе данных WSS_Content_*. Таким образом, мы ссылались на People.asmx Web Service, работающий на нашем SharePoint. После попытки создать пользовательский INFO, используя следующий метод, метод возвращает не разрешенный объект Принципалинфо (userInfoid --1, isResolved является ложным и т. Д.).
peopleservice.People service = new peopleservice.People();
service.Credentials = System.Net.CredentialCache.DefaultCredentials;
string[] users = new string[] { txtCreateEmail.Text };
var result2 = service.ResolvePrincipals(users, brnextranet.SPPrincipalType.User, true);
Есть ли какие -либо шаги, которые мы пропускаем?
Решение
Я смог решить проблему, создав веб -службу, работающую на сервере SharePoint. Для создания записи пользователя INFO требуются следующие два метода:
[WebMethod]
public void CreateUser(string username)
{
SPWeb web = new SPSite(this.ExtranetSite).OpenWeb();
web.AllUsers.Add(this.MembershipProvider + ":" + username, username, username, "");
web.EnsureUser(this.MembershipProvider + ":" + username);
}
[WebMethod]
public void DeleteUser(string username)
{
SPWeb web = new SPSite(this.ExtranetSite).OpenWeb();
web.SiteUsers.Remove(this.MembershipProvider + ":" + username);
web.Update();
}