2013-03-04 3 views
2

У меня есть приложение MVC, которое использует проверку подлинности форм. Это приложение также содержит веб-сервис WCF (Модель). Webservice обслуживает объекты C# для приложения, а те же данные доступны как JSON при вызове извне приложения (браузера). Все работает отлично, кроме того, что Webservice не аутентифицирует какой-либо запрос. Ниже приводится то, что я имею в web.config:mvc wcf security

<system.serviceModel> 
<serviceHostingEnvironment multipleSiteBindingsEnabled="true" /> 
<behaviors> 
    <endpointBehaviors> 
    <behavior name="ServiceBehavior"> 
     <webHttp /> 
    </behavior> 
    </endpointBehaviors> 
</behaviors> 
<bindings> 
    <webHttpBinding> 
    <binding name="webHttpBindingWithJson" crossDomainScriptAccessEnabled="true" /> 
    </webHttpBinding> 
</bindings> 
<services> 
    <service name="Services.MyService"> 
    <endpoint address="http://localhost:1234/MyService.svc/" binding="webHttpBinding" 
       bindingConfiguration="webHttpBindingWithJson" 
       contract="Services.IService" 
       behaviorConfiguration="ServiceBehavior"/> 
    </service> 
</services> 

Я хотел бы для проверки подлинности запросов WebService:

  • запросы из приложения должны быть заверены автоматически
  • Когда Webservice вызывается извне приложения, пользователям предлагается пройти аутентификацию.

Любая помощь будет оценена по достоинству.

/D

ответ

0

Похоже, вам нужна внутренняя конечная точка, которая служит для WSDL связывания на веб-сайт (с проверкой подлинности с помощью идентичности ASP.NET веб-сайт выполняется под) и отдельное связывание наружно для JSON запросы, которые используют OAuth для аутентификации.

В любом случае вы смотрите на два разных механизма аутентификации.