| Версия 5.2
Введение
Установка
Администрирование
Сеть
Объекты
Почта
Сигналы
Доступ
Услуги
Справочник
Кластеры
Программы
Разное
Лицензирование
Веб Почта
Pronto!
PBX
Обзор | POP | IMAP | WebUser | XIMSS | MAPI | AirSync | CalDAV | FTP | TFTP | ACAP
# Доступ Пользователей Доступ Пользователей Обслуживание нескольких доменов Системы с несколькими IP адресами Маршрутизация Сервер CommuniGate Pro позволяет пользователям использовать различные клиентские приложения для доступа к данным пользователя: Папкам, Календарям, Контактам, Файлам и так далее. POP модуль - это POP3 сервер; этот модуль позволяет пользователям забирать сообщения из своей папки INBOX (и, дополнительно, из других папок), используя почтовые программы, работающие по протоколу POP3. IMAP модуль - это IMAP4rev1 сервер; этот модуль позволяет пользователям обрабатывать сообщения в любых папках пользователя, используя почтовые программы, работающие по протоколу IMAP. Модуль Веб Интерфейса - это HTTP (Веб) сервер приложений; этот модуль позволяет пользователям работать с сообщениями, находящимися в любых папках и использовать другие возможности, предоставляемые сервером CommuniGate Pro через любой веб браузер. XIMSS модуль - это сервер XML Сообщений, Расписаний и Сигналов; этот модуль позволяет пользователям совершать вызовы и управлять ими, работать с сообщениями, находящимися в любых папках, работать с расписаниями и заданиями как индивидуально, так и в режиме группового взаимодействия, а так же использовать другие возможности, предоставляемые сервером CommuniGate Pro совместно с насыщенными функциональными возможностями Веб клиентами (в частности, с клиентами, использующими Flash® технологию). MAPI модуль является расширением IMAP модуля; он позволяет пользователям получать доступ к информации на сервере через Microsoft® Windows MAPI (Mail API) и использовать Microsoft Outlook в полнофункциональном режиме группового взаимодействия. AirSync модуль является расширением HTTP модуля; он позволяет пользователям получать доступ к информации на сервере через протокол Microsoft® ActiveSync/AirSync и использовать клиентов, работающих под управлением Windows Mobile для получения и отправки сообщений электронной почты, синхронизации Контактов, Календаря и Заданий с данными Пользователя, хранящимися на Сервере. CalDAV модуль является расширением HTTP модуля; он позволяет пользователям получать доступ к Папкам типа Календарь и Задания через протокол CalDAV. HTTP модуль является HTTP Сервером; он служит транспортным модулем для некоторых других модулей (таких, как AirSync и CalDAV модулей, а также для XIMSS модуля в режиме HTTP-Привязки и т.п.), а также он обеспечивает доступ к Хранилищу Файлов Пользователя, к Папкам и к информации Пользователя, используемой при коллективной работе. FTP модуль - FTP сервер; этот модуль обеспечивает доступ к Хранилищу Файлов Пользователя. TFTP модуль - TFTP сервер; этот модуль обеспечивает доступ к Хранилищу Файлов Пользователя. ACAP модуль - ACAP сервер; этот модуль позволяет управлять настройками приложений пользователя, хранимыми в произвольных пользовательских наборах данных.

## Доступ Пользователей

Каждый Пользователь может получать доступ к CommuniGate Pro через различные модули доступа - POP, IMAP, XIMSS, Веб Интерфейс Пользователя, FTP, XMPP и т.д. Несколько клиентских приложений могут работать с информацией пользователя в одно и то же время, используя как один и тот же, так и разные модули доступа.

Доступ к любой Папке любого Пользователя в CommuniGate Pro может быть совместным: то есть, доступ к папке может быть предоставлен не только пользователю-владельцу этой папки, но так же и другому пользователю, при условии что сам пользователь или Администратор предоставили другим пользователям соответствующие права.

## Обслуживание нескольких доменов

Основной проблемой при обслуживании нескольких доменов на одном сервере является предоставление доступа пользователям из различных доменов. Для того, что бы найти пользователя с указанным именем, сервер должен получить имя домена, в котором следует искать конкретного Пользователя.
Доступ пользователя производиться аналогично доставке сообщений или обработке Сигналов: сервер должен знать "полное имя пользователя" - адрес в форме accountname@domainname.

Существует несколько способов, для того, что бы передать имя домена серверу:

- Клиентское приложения указывает имя домена в явном виде.
  - Если пользователь получает доступ к Серверу через HTTP (Веб Интерфейс), это происходит автоматически, так как сначала пользователь указывает URL сервера (`http://domainname:port`), а затем вводит имя пользователя в специальной регистрационной форме.
    Так как все современные браузеры передают оригинальный URL серверу, то имя домена становится известным Серверу и HTTP модуль сразу добавляет имя домена к простому имени пользователя, введённому в регистрационной форме.
  - Если пользователь получает доступ к Серверу через XMPP, это происходит автоматически: пользователь указывает имя сервера в настройках клиентского приложения, а клиентское приложение посылает эти данные в атрибуте 'to' XML потока.
  - Если пользователь получает доступ к Серверу через почтовую программу, работающую по протоколу POP или IMAP, то он может в настройках почтовой программы указать полное имя пользователя в соответствущем поле "имя пользователя".
    Многие почтовые программы не допускают использования символа `@` в поле "имя пользователя", поэтому вместо него можно использовать символ `%`.
    Пользователь `john` в дополнительном домене client1.com должен будет указать имя Пользователя как `john%client1.com`, а не как просто `john`.
  - Если пользователь получает доступ к Серверу через клиентское приложение, работающее по протоколу XIMSS, то это приложение для целей аутентификации всегда указывает полное имя Пользователя.

- Имя домена может быть обнаружено косвенным образом, на основании информации об IP адресе, на который было осуществлено соединение. Если невозможно заставить пользователей получать доступ к Серверу через Веб Интерфейс или заставить их указать полное имя пользователя в POP/IMAP почтовой программе, то может быть использована информация об IP адресах, обслуживаемых Сервером.
  Сервер обслуживает несколько IP адресов, если он имеет более одного Интернет (IP) адреса. В DNS добавочным доменам могут быть назначены отдельные IP адреса.
  Если добавочный домен имеет свой IP адрес, и пользователь устанавливает соединение на этот IP адрес, то все простые имена пользователя, указанные в почтовой программе пользователя, интерпретируются как простые имена из этого добавочного домена.
  Назначение отдельного IP адреса для каждого домена может быть довольно трудоёмкой процедурой, поэтому этот метод должен использоваться, только если невозможно заставить пользователя указывать явно имя домена.

Эти методы могут использовать в комбинации: некоторое число доменов может иметь выделенные для них IP адреса, в то время как для других будет требоваться явное указание доменного имени.

## Системы с несколькими IP адресами

Каждая сессия работы с Сервером начинается с процедуры аутентификации: клиентское приложение посылает на сервер имя пользователя и пароль.

Сервер CommuniGate Pro пытается определить какой домен он должен использовать для поиска указанного имени.

- Если указанное имя содержит символ `@` или символ `%`, то Сервер рассматривает указанное пользователем имя как "полное имя пользователя", то есть имя пользователя (или другого Объекта) вместе с именем домена: `username@domainname` или `username%domainname` (смотрите выше).
- Если указанное имя не содержит символа `@` или символа `%`, то Сервер использует IP адрес, на который установлено соединение.
  В системах с несколькими IP адресами определённые IP адреса могут быть назначены некоторым Доменам. Если IP адрес, с которым установлено соединение, соответствует некоторому домену, то имя этого домена будет добавлено к имени пользователя для формирования полного имени пользователя. Если адрес соответствует Главному Домену, то указанное имя считается именем в главном Домене.
  По умолчанию, все IP адреса Сервера соответствуют Главному Домену.

Пример:
  Сервер имеет 2 IP адреса: `192.0.0.1` и `192.0.0.2`.
  Главный домен сервера `company.com`, а добавочные домены `client1.com` и `client2.com`.
  A-запись в DNS для домена company.com указывает на IP адрес 192.0.0.1,
  A-запись для домена client1.com указывает на IP адрес 192.0.0.2, а A-запись для домена client2.com указывает на тот же самый "главный" IP address 192.0.0.1.
  В каждом домене есть пользователь `info`.

  Три пользователя настроили свои клиентские программы как пользователь `info`, но они указали разное значение настройки "сервер": первый ввёл company.com, второй - client1.com, а третий пользователь client2.com.

  Когда первый пользователь запускает свою почтовую программу:
  - Клиентское приложение берет указанный в настройке "сервер" `company.com`, и использует A-запись в DNS для преобразования этого имени в IP-адрес 192.0.0.1.
  - Клиентское приложение устанавливает связь по этому адресу (который является одним из двух адресов Сервера) и передаёт Серверу имя пользователя `info`.
  - Сервер определяет, что указано простое имя пользователя `info` и соединение установлено через адрес 192.0.0.1.
  - Сервер определяет, что этот IP адрес соответствует Главному Домену и добавляет имя Главного Домена company.com к указанному простому имени.
  - Сервер формирует корректное полное имя пользователя `info@company.com` .

  Когда второй пользователь запускает своё клиентское приложение:
  - Клиентское приложение берет указанный в настройке "сервер" `client1.com`, и использует A-запись в DNS для преобразования этого имени в IP-адрес 192.0.0.2.
  - Клиентское приложение устанавливает связь по этому адресу (который является одним из двух адресов Сервера и передаёт Серверу имя пользователя `info`.
  - Сервер определяет, что указано простое имя пользователя `info` и что соединение установлено через адрес 192.0.0.2.
  - Сервер определяет, что этот IP адрес соответствует домену client1.com и добавляет имя этого домена к указанному простому имени.
  - Сервер формирует корректное полное имя пользователя `info@client1.com`.

  Когда третий пользователь запускает своё клиентское приложение:
  - Клиентское приложение берёт указанный в настройке "сервер" `client2.com`, и использует A-запись в DNS для того, что бы преобразовать это имя в IP адрес 192.0.0.1.
  - Клиентское приложение устанавливает связь по этому адресу (который является одним из двух адресов Сервера) и передаёт Серверу имя пользователя `info`.
  - Сервер определяет, что указано простое имя пользователя `info` и что соединение установлено через адрес 192.0.0.1.
  - Сервер определяет, что этот IP адрес соответствует Главному Домену и добавляет имя Главного Домена company.com к указанному простому имени.
  - Сервер формирует некорректное полное имя пользователя `info@company.com`.

  Это происходит потому, что клиентское приложение (обычно - старый POP или IMAP почтовый клиент, FTP клиент и тому подобное) не передал информацию об имени "сервера", указанную в его настройках, и единственной информацией, которой располагал Сервер для того, что бы попытаться определить полное имя пользователя, был IP адрес соединения.

  Для того что бы решить это проблему, третий пользователь должен указывать своё имя как `info%client2.com`, а не просто `info`. В этом случае, когда пользователь запускает своё клиентское приложение:
  - Клиентское приложение берёт указанный в настройке "сервер" `client2.com` и использует A-запись в DNS для того, что бы преобразовать это имя в IP адрес 192.0.0.1.
  - Клиентское приложение устанавливает связь по этому адресу (который является одним из двух адресов Сервера) и передаёт Серверу имя пользователя `info%client2.com`.
  - Сервер определяет, что указанно полное имя пользователя `info%client2.com` и не обращает внимания на IP адрес. Он конвертирует символ `%` в символ `@`.
  - Сервер формирует корректное полное имя пользователя `info@client2.com`.

  Обратите внимание: большинство FTP клиентов работает аналогично почтовым программам, использующим POP/IMAP и, в тех случаях, когда FTP пользователь не используют для установления соединения выделенный для его домена IP адрес, он должен будет указывать полное имя пользователя.

  Обратите внимание: MAPI Коннектор всегда посылает полное имя пользователя: если пользователь указывает имя без знака `@` или `%`, Коннектор добавляет к указанному имени знак '@' и значение, указанное в настройке `Имя сервера`.

  Обратите внимание: XMPP клиенты отправляют имя 'домена пользователя' вместе с именем пользователя. Если указанное имя пользователя не содержит символов `@` или `%`, то Сервер добавляет символ '@' и имя домена к имени пользователя.

## Маршрутизация

После того, как полное имя пользователя сформировано, это имя (адрес) передаётся в Маршрутизатор.

- Если Маршрутизатор сообщает об ошибке, клиент считается не аутентифицированным и сообщение об ошибке возвращается клиентскому приложению. Обычная ошибка - `Unknown user`, но встречаются и другие, которую Маршрутизатор или другие модули могут выдать при преобразовании адреса.
- Если Маршрутизатор успешно обработал адрес и в результате этой обработки адрес не подлежит направлению в модуль Местной Доставки, то клиент не аутентифицируется и клиентскому приложению направляется сообщение об ошибке. Это случается, если пользователь указал в качестве имени пользователя имя списка рассылки или указанное имя пользователя согласно правилам маршрутизации должно перенаправляется на другой хост (например, по SMTP).
- Если Маршрутизатор направляет адрес на какого-нибудь Пользователя в некотором локальном домене, то происходит открытие доступа для этого Пользователя, и осуществляется проверка пароля этого Пользователя.

Это означает, что все правила маршрутизации, применяемые к адресам в Почте и в Сигналах, так же применяются и к именам пользователей, указанным в почтовых программах.

Пример:
  Пользователь под именем `john` имеет псевдоним `john_smith`;
  все сообщения и сигналы, адресованные на адрес john_smith будут направляться на пользователя john;
  пользователь может указывать как john, так и john_smith в настройке "имя пользователя" в своем клиентском приложении - в любом случае, Сервер будет считать, что с ним работает пользователь `john`.
Пример:
  Пользователь `john` был переведён из главного домена company.com в домен client1.com, и был переименован в j.smith. Администратор создал правило маршрутизации (запись в Маршрутизаторе):
  `<John> = j.smith@client1.com`;
  все сообщения и Сигналы, адресованные на john@company.com будут посылаться пользователю j.smith в домене client1.com;
  пользователь все ещё может указывать в своём клиентском приложении `john` в настройке "имя пользователя" и company.com в настройке "сервер" - но Сервер будет работать с ним как с пользователем j.smith в домене client1.com.

Обратите внимание:
  не создавайте никакие правила маршрутизации (записи в Маршрутизаторе), которые перенаправляют пользователя Postmaster Главного Домена. Вы можете оказаться не в состоянии администрировать Сервер (в случае, если пользователь postmaster перенаправлен на пользователя, который не обладает соответствующими Правами администрирования).
  Если вы хотите, что бы все сообщения и Сигналы для пользователя Postmaster перенаправлялись бы на другого пользователя, используйте для этого не Маршрутизатор, а Правила для пользователя postmaster.

Руководство CommuniGate® Pro. Copyright © 1998-2009, Stalker Software, Inc.