ASP.NET MVC Windows аутентификация - PullRequest
0 голосов
/ 16 декабря 2011

У нас есть веб-сайт ASP.NET MVC и служба WCF.

Мы используем проверку подлинности Windows на веб-сайте и хотим передать учетные данные с веб-сайта в службу. Обычно (пока) сервис и веб-сайт находятся на одном сервере. На данный момент мы передаем имя пользователя в виде строки, но понимаем, что это, вероятно, не очень хороший вариант.

Мы хотим знать имя пользователя AD при выполнении метода службы WCF, поскольку в нашей базе данных есть сопоставления, которые отображают пользователей AD на различные роли в нашей системе.

Мы хотим, чтобы служба WCF работала как удостоверение IIS, с которым мы ее настроили, поскольку у этого пользователя есть доступ к SQL.

Куда мы пойдем отсюда?

Ответы [ 2 ]

0 голосов
/ 09 мая 2014

Вы не указали, какую привязку вы использовали. Если вы используете что-то вроде этого, оно должно работать:

    <binding name="IWABinding">
      <security mode="Transport">
        <transport clientCredentialType="Windows" />
      </security>
    </binding>

Вы, вероятно, использовали бы его с netTcpBinding. Вы также можете использовать его поверх basicHttpBinding и рассмотреть также TransportCredentialOnly.

Для получения дополнительной информации см .: http://msdn.microsoft.com/en-us/library/ms733089(v=vs.110).aspx

0 голосов
/ 16 декабря 2011

Используйте Билет для проверки подлинности с помощью форм для передачи имени пользователя. Убедитесь, что вы переопределите шифрование и домен, если WCF и MVC будут находиться в разных блоках / доменах. В этих инструкциях упоминается machineKey, но для домена это просто атрибут domain="MyDomain" в элементе формы.

...