Хорошо, мне обычно удобно откладывать на 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.
Я с радостью расскажу об этом вместе с вами, если хотите.