У меня есть сайт WSS 3.0 (без MOSS), который использует поставщика членства для аутентификации с помощью пользовательских форм и диспетчер ролей, аутентифицирующий пользователей с помощью удаленной веб-службы (хотя на данный момент он работает с данными moq). Моя проблема заключается в следующем: пользователи при входе в систему отображают свое имя как имя для входа, а не полное имя.
Я настроил своего провайдера так, чтобы сохранялись и имя пользователя, и полное имя, и что при запросе (например, GetUserByUsername) любое значение возвращало объект MembershipUser с полным именем в качестве имени пользователя. Это приводит к тому, что в средстве выбора людей sharepoint ввод имени пользователя приводит к автоматическому завершению, превращающему его в его полное имя, как это делает стандартная проверка подлинности Windows.
Однако при установлении точки останова поставщика при входе на сайт вызывается только метод ValidateUser поставщика, они никогда не являются запросом для моих подделанных объектов MembershipUser. При просмотре таблицы UserInfo в базе данных контента создается новая запись с именем пользователя (tp_title), установленным на его имя для входа.
Если не выполнять прямой запрос к базе данных (чего я не собираюсь делать), я не уверен, как я могу иметь удобное имя пользователя для пользовательских пользователей FBA. Помощь будет оценена.