comment authentifier l'utilisateur de ASP.NET web service qui fait partie de ASP.NET application web?

J'ai un C# ASP.NET 3.5 application web qui utilise l'authentification par formulaires. Les utilisateurs de se connecter avec leur nom d'utilisateur et le mot de passe de connexion.aspx, sont authenicated à l'aide d'une authentification personnalisée logique et sont ensuite dirigés vers l'entrée.aspx, où ils entrer certains paramètres et d'obtenir la réponse sur la production.aspx. Si ils essaient d'accéder à l'entrée.aspx sans avoir à s'authentifier eux-mêmes, ils sont redirigés vers la connexion.aspx.

Les mêmes utilisateurs veulent être en mesure d'utiliser les fonctionnalités de cette application web sans l'aide de l'INTERFACE utilisateur, de l'environnement Unix. J'ai donc ajouté un fichier de service web (.asmx) à cette application web. Je n'ai pas de créer un projet distinct pour ce service web, parce que le service web utilise des fichiers de code, le code mondial.asax de l'application web existante et je dois pas de duplication de code pour le service web.

Le service web de la fonctionnalité fonctionne très bien maintenant, mais je ne sais pas comment faire pour authentifier les utilisateurs. Le client de service web envoyer le nom d'utilisateur et le mot de passe une fois (peut-être l'aide d'un 'login' webmethod, que je peux écrire pour les authentifier), puis devrait être en mesure d'envoyer plusieurs demandes (peut-être jusqu'à ce qu'ils appellent une "déconnexion" webmethod ou jusqu'à ce que leur session/cookies expirent).

Pour les requêtes web pour ne pas obtenir redirigé vers la de login.page aspx, j'ai exclu la .asmx fichier à partir de l'authentification de Formulaires à l'aide de l'emplacement de la balise dans le web.config. (Je ne sais pas si c'est la voie à suivre.) Mais ensuite, je pense que l'utilisateur n'est pas authentifié dans l'application web, et ainsi le code de l'application web qui utilise le service, ne sera pas accessible, non?

OriginalL'auteur engg | 2010-01-21