Asp.net не проходит проверку подлинности в отношении службы wcf на сервере 2008 - PullRequest
0 голосов
/ 30 января 2009

У меня проблемы с развертыванием веб-сайта в IIS 7 в Windows Server 2008. Сайт работает нормально до тех пор, пока не попытается сделать вызов службе WCF, размещенной на том же хосте.

Все отлично работает для службы с моей рабочей станции, когда веб работает в Visual Studio 20008 использование точно такой же веб-конфигурации и т. д. Как только я разверну веб в виртуальном каталоге на сервере Bam. Ошибки аутентификации. Он также работает как есть, когда оба развернуты на Windows 2003 Server. Какие отличается от Server 2008, что вызывает это? ПОМОГИТЕ! Пожалуйста.

В случае, если это важно, все операции службы требуют членства в группе Active Directory для Аутентифицированный пользователь страницы ASP.net украшен как: [PrincipalPermission (SecurityAction.Demand, Role = "SOAMemberShipService")]

Я получаю следующую ошибку с веб-сайта:

Запрос токена безопасности не может быть выполнен из-за сбоя аутентификации. Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и ее возникновении в коде.

Сведения об исключении: System.ServiceModel.FaultException: не удалось выполнить запрос маркера безопасности из-за сбоя аутентификации.

Ошибка источника:

Строка 919:
Строка 920: общедоступные HSMembersService.MemberSearchResult SearchMembers (HSMembersService.MemberSearch MemberInfoToSearch) { Строка 921: вернуть base.Channel.SearchMembers (MemberInfoToSearch); Строка 922:} Строка 923:}

Исходный файл: c: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Временные файлы ASP.NET \ csrweb \ a4d18657 \ a6d0910d \ App_WebReferences.jgx1svpr.0.cs Строка: 921

Трассировка стека:

[FaultException: запрос токена безопасности не может быть выполнен из-за сбоя аутентификации.] System.ServiceModel.Security.SecurityUtils.ThrowIfNegotiationFault (сообщение-сообщение, цель EndpointAddress) +6375432 System.ServiceModel.Security.IssuanceTokenProviderBase`1.ThrowIfFault (сообщение-сообщение, цель EndpointAddress) +25 System.ServiceModel.Security.SspiNegotiationTokenProvider.GetNextOutgoingMessageBody (Сообщение входящих сообщений, SspiNegotiationTokenProviderState sspiState) + 173

[SecurityNegotiationException: вызывающая сторона не была аутентифицирована службой.] System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage (IMessage reqMsg, IMessage retMsg) +4596611 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke (MessageData & msgData, тип Int32) +1713 HSMembersService.IHSMembersService.SearchMembers (MemberSearch MemberInfoToSearch) +0 HSMembersService.HSMembersServiceClient.SearchMembers (MemberSearch MemberInfoToSearch) в c: \ Windows \ Microsoft.NET \ Framework64 \ v2.0.50727 \ Временные файлы ASP.NET \ csrweb \ a4d18657 \ a6d0910d \ App_WebRecs.pr.j.x. _default.btnSearch_Click (Отправитель объекта, EventArgs e) в e: \ CSRWeb \ default.aspx.cs: 114 System.Web.UI.WebControls.Button.OnClick (EventArgs e) +131 System.Web.UI.WebControls.Button.RaisePostBackEvent (String eventArgument) +140 System.Web.UI.Page.RaisePostBackEvent (IPostBackEventHandler sourceControl, String eventArgument) +39 System.Web.UI.Page.ProcessRequestMain (логическое значение includeStagesBeforeAsyncPoint, логическое значение includeStagesAfterAsyncPoint) +3215

Веб-сайт ASP.web.config (соответствующая часть Сервиса):

Сервисы web.config:

    <!-- Service Endpoints -->
    <!-- Unless fully qualified, address is relative to base address supplied above -->
    <endpoint address ="" binding="wsHttpBinding" contract="HSMembersService.IHSMembersService" bindingConfiguration="wsHttpBindingConfig">
      <!-- 
          Upon deployment, the following identity element should be removed or replaced to reflect the 
          identity under which the deployed service runs.  If removed, WCF will infer an appropriate identity 
          automatically.
      -->
      <!--<identity>
        <dns value="localhost"/>
      </identity>-->
    </endpoint>
    <!-- Metadata Endpoints -->
    <!-- The Metadata Exchange endpoint is used by the service to describe itself to clients. -->
    <!-- This endpoint does not use a secure binding and should be secured or removed before deployment -->
    <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
  </service>
</services>
<bindings>
  <wsHttpBinding>
    <binding name="wsHttpBindingConfig" >
      <security mode="Message">
        <message clientCredentialType="Windows" />
      </security>

    </binding>
  </wsHttpBinding>
</bindings>
<behaviors>
  <serviceBehaviors>
    <behavior name="HSMembersService.HSMembersServiceBehavior">
      <!-- To avoid disclosing metadata information, 
      set the value below to false and remove the metadata endpoint above before deployment -->
      <serviceMetadata httpGetEnabled="True"/>

      <serviceAuthorization principalPermissionMode="UseWindowsGroups"         />
      <!-- To receive exception details in faults for debugging purposes, 
      set the value below to true.  Set to false before deployment 
      to avoid disclosing exception information -->
      <serviceDebug includeExceptionDetailInFaults="True" /><!-- Change this before deployment -->
    </behavior>
  </serviceBehaviors>
</behaviors>

Ответы [ 2 ]

0 голосов
/ 14 апреля 2009

Может быть связано с этим .

0 голосов
/ 04 февраля 2009

Хорошо, здесь нет ответов ни в группах подписки MSDN.

Итак, я попробовал все. И я имею в виду все. После нескольких дней, но на самом деле прошло всего лишь 20 часов, все работает!

Все, что я сделал, это переместил физический путь к файлам сервисов, т.е. к файлам .dll, .svc и т. Д., В каталог из моего c: root по сравнению с wwwroot, и он заработал. Мне пришлось обновить мой виртуальный каталог, чтобы он указывал на него.

Почему это место вызвало проблемы? Изменяет ли IIS7.0 / Windows server 2008 что-то, что не позволяет развертывать службы из физического расположения wwwroot? Я, вероятно, никогда не узнаю, потому что я никогда не буду пытаться развернуть другую службу оттуда.

Я трижды проверил все права доступа к учетной записи / каталогу, и те, что указаны в новом физическом пути, идентичны тем, которые есть в старом физическом пути, поэтому ничего хорошего там нет.

Если кто-нибудь узнает почему или знает почему. Пожалуйста, дайте мне / нам знать.

Спасибо

Эдди

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