2009-08-12 1 views
1

Greets. Я понимаю, что это можно рассматривать как дублирующий вопрос, как this, но у меня другая ошибка.Могу ли я иметь привязку WCF, которая проходит через SSL (с использованием https), с безопасностью транспорта, установленной на none?

My IIS настроен на использование SSL. Мое обслуживание настроено относительно просто. Просто простой вход в систему.

При попытке перейти непосредственно к файлу SVC на хост-машине, я получаю эту ошибку

служба не может быть активизирован из-за исключения во время компиляции. Сообщение об исключении: Параметры безопасности для этой службы требуют проверки подлинности Windows, но она не включена для приложения IIS, на котором размещена эта служба.

Я не хочу выполнять аутентификацию при доступе к этой конкретной услуге. Разве я не могу использовать привязку HTTPS к сообщениям «Транспортные сообщения», а проверка подлинности клиента не установлена?

У меня есть установка сертификата для соответствия SSL, и это кажется прекрасным. Это просто этот материал аутентификации, который сейчас находится на пути.

<system.serviceModel> 
<behaviors> 
    <serviceBehaviors> 
    <behavior name="DefaultBehaviour"> 
     <serviceMetadata httpsGetEnabled="true" /> 
     <serviceCredentials> 
     <serviceCertificate findValue="xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx" 
      storeLocation="LocalMachine" storeName="My" x509FindType="FindByThumbprint" /> 
     </serviceCredentials> 
    </behavior> 
    </serviceBehaviors> 
</behaviors> 
<bindings> 
    <wsHttpBinding> 
    <binding name="wsBinding"> 
     <security mode="Transport"> 
     <message clientCredentialType="None" /> 
     </security> 
    </binding> 
    </wsHttpBinding> 
    <mexHttpsBinding> 
    <binding name="mex" /> 
    </mexHttpsBinding> 
</bindings> 
<services> 
    <service behaviorConfiguration="DefaultBehaviour" name="Web.Login.LoginService"> 
    <endpoint name="wsBinding" 
       address="https://staging.system.com/System/LoginService/LoginService.svc" 
       binding="wsHttpBinding" bindingConfiguration="wsBinding" 
       contract="Web.Login.IOLELoginService" /> 
    <endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration="mex" name="mex" contract="IMetadataExchange" /> 
    </service> 
</services> 

ответ

3

Вы должны быть в состоянии иметь это - только вы не настраиваю его таким образом!

<security mode="Transport"> 
    <message clientCredentialType="None" /> 
    </security> 

Если у вас есть безопасность транспорта, вам необходимо установить clientCredentialType на <transport> подэлементе!

Попробуйте это:

<security mode="Transport"> 
    <transport clientCredentialType="None" /> 
    </security> 

Это следует надеяться работать (нет настройки, чтобы проверить это прямо сейчас)

Marc

+0

сладком. Конечно. Благодарю. Кажется, это так. Когда я нахожусь в файле svc, теперь я не получаю никаких ошибок, но страница просто пустая. – topwik

+0

Хорошо, отлично. Моя конфигурация должна была быть испорчена, но. Выглядит хорошо. Большое спасибо! – topwik

 Смежные вопросы

  • Нет связанных вопросов^_^