Je ne pouvais pas penser à un titre décent, alors laissez-moi d'abord m'excuser pour cela.Contrôler quels WebMethods sont exposés en externe dans un WebService
J'ai un WebService (appelez-le A) écrit pour mon application afin que je puisse tirer parti des fonctionnalités ASP.NET 3.5 AJAX. J'utilise le proxy JavaScript généré pour effectuer des appels AJAX.
Comme un effet secondaire, WebService A est exposé pour quiconque d'ajouter une référence à un autre projet, ce qui est génial, sauf que je ne veux pas certains WebMethods soient disponibles à des applications externes (dans le même domaine, BTW).
J'ai deux questions:
- est-il un moyen de contrôler l'exposition des WebMethods dans WebService A?
S'il n'y a pas, je pense que je vais juste ajouter un WebService séparé (B) qui expose les WebMethods dont j'ai besoin de WebService A. Mais,
- Comment puis-je empêcher que d'autres applications de référencement WebService A tout en permettant l'application, il est originaire pour y accéder?
Si ce n'est pas possible, je ne m'inquiète pas vraiment. Les applications sont toutes intranet uniquement, je ne veux tout simplement pas abuser des WebServices.
De plus, il y a déjà une question similaire ici sans bonnes réponses. Le demandeur décrit presque la même situation que je suis: ASP.NET WebService deny remote access
Voici ce que j'ai fini par faire: J'ai ajouté un nouveau projet à ma solution qui contenait le service "externe" et l'ai publié dans un nouvel emplacement afin que je puisse contrôler l'authentification et l'autorisation séparément de mon application principale. –