Аутентификация с использованием обмена - PullRequest
0 голосов
/ 24 марта 2010

мой клиент имеет сервер обмена и предлагает бесплатные почтовые аккаунты своим клиентам и партнерам. Его клиенты должны иметь доступ к некоторым веб-приложениям через логин и пароль и должны пройти аутентификацию.

Я подумал о создании настраиваемого поставщика членства asp.net, который обращается к exchange вместо обычного магазина aspnetdb.

Есть ли способ аутентификации этих пользователей по обмену с помощью предоставленной им электронной почты / имени пользователя и пароля при обмене?

спасибо.

Ответы [ 3 ]

1 голос
/ 24 марта 2010

Если я не ошибаюсь, Exchange аутентифицируется через и только через Active Directory . Так что вы могли бы также использовать некоторые встроенные механизмы аутентификации LDAP.

Существует уже немало жизнеспособных подходов к этому, если вы выполните поиск для Аутентификация ASP.NET LDAP

Однако, IMO, самый простой способ - просто использовать режим проверки подлинности Windows ASP.NET:

<system.web>
  ...
    <authentication mode="Windows"/>
  ...
</system.web>

И присоединитесь к машине, на которой ваш сайт будет развернут в том же домене, что и Exchange. Конечно, будет больше деталей реализации. Но я думаю, что это самый безболезненный.

Вы можете получить доступ к информации о домене для текущего пользователя следующим образом:

var user = (WindowsPrincipal)HttpContext.Current.User; // assume Windows auth.

ПРИМЕЧАНИЕ: что, тем не менее, существуют различные угрозы безопасности, которые следует должным образом оценить перед внедрением.

0 голосов
/ 24 марта 2010

Как правило, я бы использовал ActiveDirectoryMembershipProvider в сочетании с аутентификацией на основе форм. Это будет использовать то же хранилище Active Directory, что и Exchange. В MSDN есть подробная статья о различных возможностях реализации. Вы также можете использовать Windows-аутентификацию, как подсказывает @chakrit, но имейте в виду, что после аутентификации браузер останется аутентифицированным, пока он не закроется - выхода из системы не будет. Одна приятная особенность аутентификации Windows заключается в том, что, если сайт находится в зоне интрасети или доверенных сайтов, вам никогда не будет предложено ввести свои учетные данные. С другой стороны, вы также не хотите, чтобы кто-то занимал вашу рабочую станцию, пока вы вошли в систему. Я бы использовал его только для вещей, которые должны быть защищены, но не обязательно чувствительны - например, для сайта в интрасети.

0 голосов
/ 24 марта 2010

Я подозреваю, что вы проходите аутентификацию в контролируемом клиентом домене AD. Эта статья должна помочь

...