Добавление пользователя FBA в список пользователей SharePoint

StackOverflow https://stackoverflow.com/questions/4388584

  •  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();
    }
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top