Клиент WCF и встроенная аутентификация Windows - PullRequest
0 голосов
/ 31 июля 2010

Мы обнаружили проблему при доступе к веб-службе из нашего проекта ASP.Net MVC, размещенного в IIS 7 (Windows 2008), мы используем этот bindings.config

<basicHttpBinding>
        <binding name="BasicServiceHttpBinding">
          <security mode="TransportCredentialOnly">
            <transport clientCredentialType="Windows"/>
          </security>
        </binding>
</basicHttpBinding>

Во время тестирования всего приложенияс VS2008 все работает нормально, но когда мы устанавливаем весь проект с помощью установщика и размещаем его под IIS, наш проект не может посетить веб-службу.

Я полагаю, другое дело в том, кто является владельцем процесса при выполненииПри использовании приложения под VS2008 сервер является текущим пользователем для входа в систему (учетная запись домена), но при размещении приложения под IIS пользователь отличается (вероятно, ./Administrator или IIS_USER, а не моей учетной записью домена).

МыУ меня была похожая проблема, прежде чем при запуске одного консольного приложения в качестве Сервиса мы исправили его, просто изменив владельца сервиса на учетную запись домена, а не на учетную запись Local System.

Мне интересно, можем ли мы сделать что-то подобное проекту в IIS?Я имею в виду сменить владельца процесса?

и каков наилучший способ доступа к API сервера в этом сценарии?

1 Ответ

1 голос
/ 09 августа 2010

да, скорее всего, это проблема прав доступа к учетной записи.Обычно это происходит, если вы устанавливаете приложение ASP.NET на одном сервере и веб-службу на другом, и вы не меняете идентификацию AppPool по умолчанию для приложения ASP.NET.

Если вам нужно изменить учетную запись, используемую для запуска ASPПриложение .NET MVC необходимо открыть консоль управления IIS и найти, какой AppPool запускает ваше приложение.Чем вы можете изменить учетную запись для этого AppPool.Помните, что больше приложений могут совместно использовать один AppPool, чтобы вы могли влиять на их поведение при смене учетной записи.Если это произойдет, вы можете создать новый пул приложений и назначить его только вашему приложению.

С уважением, Ладислав

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...