У меня проблемы с развертыванием веб-сайта в 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>