none
Перестала приходить почта пользователям с изменившимся e-mail'ом (MOSS 2007) RRS feed

  • Вопрос

  • Имеется ферма серверов MOSS 2007 (версия: 12.0.0.6608). ОС на серверах: Windows Server 2008 R2 Standard SP1 / Windows Server 2003 Enterprise SP2. Сервер БД: MS SQL Server 2008 R2 RTM (версия: 10.50.1600.1).

    У ряда пользователей изменились адреса эл. почты, т.к. перевели почту с одного домена на другой (был, например, IIvanov@domainOLD.com, а стал IIvanov@domainNEW.ru). При этом учётки этих пользователей остались прежними.

    После этого всем этим пользователям перестали приходить письма с портала (MOSS 2007). Причём, добавочный импорт профилей пользователей был выполнен успешно: у всех этих пользователей в соотв. свойстве профиля прописан новый e-mail. Тем пользователям, у которых e-mail не менялся, оповещения с портала приходят без проблем!

    Выяснилось, что всем пользователям, у которых изменился e-mail, письма пытаются отправиться по-прежнему на старый адрес (например, на IIvanov@domainOLD.com) и, как следствие, не доходят! Почему новый e-mail (например, IIvanov@domainNEW.ru) не берётся из профиля???

    На каждом из серверов фермы поднят свой SMTP, через который и осуществляется отправка почты. Такое чувство, что каждый из серверов локально хранит устаревшую копию адресной книги, возможно, что-то типа кэша. Так ли это?!..

    Будьте добры, подскажите, как решить данную проблему! Наверняка, кто-то с подобным уже сталкивался.


    • Изменено Ronni10 18 января 2012 г. 13:32
    18 января 2012 г. 13:31

Ответы

  • На все вопросы ответы найдены! Проблема решена! А была она на уровне объектной модели SharePoint.

    Краткое описание причин/решения:

    Объектная модель WSS представляет внешних участников безопасности, используя объекты SPUser. Объект SPUser для текущего пользователя можно получить через текущий объект SPWeb.

    Объект SPUser демонстрирует свойства внешнего участника безопасности, такие как имя пользователя, отображаемое имя и адрес электронной почты. Эти свойства обычно извлекаются из базового хранилища пользователей, такого как домен Active Directory, при добавлении внешних участников к веб-узлу. Объект SPUser также демонстрирует свойства, отслеживающие относящиеся к WSS метаданные, скажем поле Notes («Заметки»).

    WSS держит данные профилей для внешних пользователей, групп и ролей в скрытом списке, известном как список данных о пользователях (User Information List). Каждый раз при обеспечении всем необходимым нового семейства веб-узлов, WSS автоматически создает список данных о пользователях как скрытый список на веб-узле верхнего уровня. Затем WSS добавляет новый профиль для каждого внешнего участника безопасности, в тот момент, когда этому участнику выдается разрешение, или он проходит проверку безопасности для доступа к защищаемому объекту. Отметьте, что профиль пользователя, сохраненный в списке данных о пользователях не распространяется на другие семейства веб-узлов – когда пользователи обновляют настройки своих профилей в одном семействе, настройки их профилей в других семействах не меняются.

    Другим возможным источником путаницы является то, что объекты SPUser не всегда представляют реальных пользователей. Объекты SPUser могут также представлять группы Active Directory и роли ASP.NET. WSS отслеживает профиль для каждого из этих типов внешних пользователей в списке данных о пользователях , вместе с данными профилей для внешних пользователей.

    Многие аспекты программирования модели безопасности SharePoint открываются на уровне веб-узла, через объекты SPWeb. Это происходит и в случае необходимости обнаружить, какие пользователи являются членами текущего веб-узла. Объект SPWeb раскрывает три различных семейства пользователей, как показано в следующем фрагменте программного кода:

    SPWeb site = SPContext.Current.Web;
    SPUserCollection c1 = site.Users;
    SPUserCollection c2 = site.AllUsers;
    SPUserCollection c3 = site.SiteUsers;

    Семейство Users является самым маленьким из трех. В него входят все внешние участники безопасности, которым были прямо выданы разрешения внутри текущего веб-узла.

    Семейство AllUsers включает всех членов Users, а кроме того внешних пользователей, получавших доступ к объектам на веб-узле с использованием непрямых разрешений, полученных через членство в группе или роли.

    Семейство SiteUsers – сводное, объединяющее членов каждого семейства AllUsers внутри текущего семейства веб-узлов. Оно включает в себя всех внешних пользователей, которым были даны разрешения для любого объекта в семействе веб-узлов, а также внешних пользователей, которым был дан доступ к любому из объектов в семействе веб-узлов, посредством непрямых разрешения.

    Полное описание причин/решения:

    http://www.cyberguru.ru/web/sharepoint/secutiry-features-dev-page2.html

    http://msdn.microsoft.com/ru-ru/library/microsoft.sharepoint.spuser(v=office.12).aspx

    http://www.compurama.ru/2007/11/20/chto-delat-esli-ne-obnovlyayutsya-profili-polzovatelej-v-kollekciyax-uzlov/

    • Изменено Ronni10 19 января 2012 г. 9:38
    • Помечено в качестве ответа Ronni10 27 января 2012 г. 5:18
    19 января 2012 г. 8:34

Все ответы

  • Ответьте, пожалуйста, на парочку вспомогательных вопросов:

    1. При отправке почты с узлов SharePoint 2007 эл. адреса пользователей берутся из соотв. SharePoint-профилей, напрямую из AD или же откуда-то ещё???

    2. При добавлении пользователей в SharePoint (например, в какую-либо из групп SharePoint или в список пользователей при создании оповещений) пользователи ведь берутся напрямую из AD???

    Спасибо!

    19 января 2012 г. 7:54
  • На все вопросы ответы найдены! Проблема решена! А была она на уровне объектной модели SharePoint.

    Краткое описание причин/решения:

    Объектная модель WSS представляет внешних участников безопасности, используя объекты SPUser. Объект SPUser для текущего пользователя можно получить через текущий объект SPWeb.

    Объект SPUser демонстрирует свойства внешнего участника безопасности, такие как имя пользователя, отображаемое имя и адрес электронной почты. Эти свойства обычно извлекаются из базового хранилища пользователей, такого как домен Active Directory, при добавлении внешних участников к веб-узлу. Объект SPUser также демонстрирует свойства, отслеживающие относящиеся к WSS метаданные, скажем поле Notes («Заметки»).

    WSS держит данные профилей для внешних пользователей, групп и ролей в скрытом списке, известном как список данных о пользователях (User Information List). Каждый раз при обеспечении всем необходимым нового семейства веб-узлов, WSS автоматически создает список данных о пользователях как скрытый список на веб-узле верхнего уровня. Затем WSS добавляет новый профиль для каждого внешнего участника безопасности, в тот момент, когда этому участнику выдается разрешение, или он проходит проверку безопасности для доступа к защищаемому объекту. Отметьте, что профиль пользователя, сохраненный в списке данных о пользователях не распространяется на другие семейства веб-узлов – когда пользователи обновляют настройки своих профилей в одном семействе, настройки их профилей в других семействах не меняются.

    Другим возможным источником путаницы является то, что объекты SPUser не всегда представляют реальных пользователей. Объекты SPUser могут также представлять группы Active Directory и роли ASP.NET. WSS отслеживает профиль для каждого из этих типов внешних пользователей в списке данных о пользователях , вместе с данными профилей для внешних пользователей.

    Многие аспекты программирования модели безопасности SharePoint открываются на уровне веб-узла, через объекты SPWeb. Это происходит и в случае необходимости обнаружить, какие пользователи являются членами текущего веб-узла. Объект SPWeb раскрывает три различных семейства пользователей, как показано в следующем фрагменте программного кода:

    SPWeb site = SPContext.Current.Web;
    SPUserCollection c1 = site.Users;
    SPUserCollection c2 = site.AllUsers;
    SPUserCollection c3 = site.SiteUsers;

    Семейство Users является самым маленьким из трех. В него входят все внешние участники безопасности, которым были прямо выданы разрешения внутри текущего веб-узла.

    Семейство AllUsers включает всех членов Users, а кроме того внешних пользователей, получавших доступ к объектам на веб-узле с использованием непрямых разрешений, полученных через членство в группе или роли.

    Семейство SiteUsers – сводное, объединяющее членов каждого семейства AllUsers внутри текущего семейства веб-узлов. Оно включает в себя всех внешних пользователей, которым были даны разрешения для любого объекта в семействе веб-узлов, а также внешних пользователей, которым был дан доступ к любому из объектов в семействе веб-узлов, посредством непрямых разрешения.

    Полное описание причин/решения:

    http://www.cyberguru.ru/web/sharepoint/secutiry-features-dev-page2.html

    http://msdn.microsoft.com/ru-ru/library/microsoft.sharepoint.spuser(v=office.12).aspx

    http://www.compurama.ru/2007/11/20/chto-delat-esli-ne-obnovlyayutsya-profili-polzovatelej-v-kollekciyax-uzlov/

    • Изменено Ronni10 19 января 2012 г. 9:38
    • Помечено в качестве ответа Ronni10 27 января 2012 г. 5:18
    19 января 2012 г. 8:34