Членство в WCF и ASP.NET - PullRequest
0 голосов
/ 21 июля 2010

Я знаю, что для работы WCF с провайдером членства вы должны явно настроить его: (например, http://www.codewrecks.com/blog/index.php/2009/09/08/use-aspnet-membership-provider-with-a-wcf-svc-service/)

Но если у вас уже есть сайт ASP.NET, использующий его, не можете ли вы предотвратить анонимный доступ к службе, просто выполнив следующие действия?

  <location path="PathToWCFService">
    <system.web>
      <authorization>
        <deny users"?" />
        <allow users="*" />
      </authorization>
    </system.web>
  </location>

Если предположить, что это работает, то я думаю, что WCF не будет иметь доступа к информации о членстве? Любые другие причины, почему это может быть плохой идеей? Спасибо!

Редактировать: Любой другой способ использования WCF с поставщиком членства, который не требует поддержки сертификата?

1 Ответ

1 голос
/ 22 июля 2010

Хорошо, мне обычно удобно откладывать на marc_s, но в этом случае я думаю, что его комментарии могут быть не совсем точными.

Я думаю, что он не принимает во внимание то, что хостинг службы в ASP.NET полностью отличается от собственного хостинга.

Когда вы размещаете службу на веб-сайте ASP.NET, фабрика хоста управляется с помощью ASP.NET и активируется путем доступа к конечной точке .svc, которая обслуживается ASP.NET.

Итак, участвуя и имея доступ к контексту ASP.NET для службы является opt-in, ASP.NET наверняка обработает запрос.

Итак, да, вы можете защитить любую конечную точку .svc с помощью авторизации ASP.NET, как показано.

Таким образом, вы защищены от несанкционированного доступа. Что теперь? Как аутентифицировать клиента, чтобы он мог получить доступ к вашему сервису?

Здесь вы указываете ссылку для использования членства / аутентификации в службе.

Итак, в своем вопросе вы описываете два взаимных аспекта защиты wcf-службы, размещенной на ASP.NET, с помощью стека поставщика членства, но, возможно, рассматриваете их как / или.

Теперь я могу ошибаться, но вот как я это понимаю и как я реализовывал это в прошлом.

Удачи.

И да, существуют методы защиты службы с членством, которые не включают сертификат, но обычно они имеют какой-то запах, и / или требуют привязки BasicHttp или WebHttp.

Я с радостью расскажу об этом вместе с вами, если хотите.

...