2010-04-25 3 views
2

J'utilise un service d'authentification WCF que j'ai configuré avec une application Web. J'ai réussi à configurer et à tester AuthenticationService et RolesService. L'application Web peut appeler avec succès des méthodes telles que ValidateUser et GetRolesForCurrentUser via les services WCF.Utilisation du service d'authentification WCF pour une application Web

Je souhaite intégrer le service d'authentification WCF à mes fichiers web.config et site.map. Ai-je besoin d'écrire un fournisseur personnalisé ou existe-t-il un moyen de modifier le fichier web.config de l'application Web pour utiliser le service d'authentification WCF en tant que fournisseur d'appartenances?

De cette façon, je peux définir quels rôles ont accès aux répertoires basés sur le service d'authentification WCF.

+0

Je suppose que vous voulez dire Windows Communication Foundation et non les anciennes classes Windows Foundation (qui n'ont rien à voir avec ASP.NET). – Aaronaught

Répondre

2

Les services d'application ne sont pas destinés à remplacer la pile fournisseur.

Ils sont destinés à augmenter et activer l'utilisation à partir d'un contexte autre que .aspx.

Dans la plupart des cas, vous pouvez simplement utiliser la pile fournisseur par défaut (Membership/Roles/Profiles).

Vous avez simplement besoin de transmettre les cookies que vous obtenez lorsque vous appelez 'Connexion' via les services d'applications autour dans le contexte de l'appel de service.

Voir here pour plus d'informations sur l'ajout de cookies à un appel WCF.

Si vous utilisez AJAX pour appeler les services, vous n'avez rien à faire, il vous suffit de vous authentifier via ajax puis d'appeler via ajax.

1

La réponse de Skys semble ne pas répondre à la question?

Il me semble qu'il existe un réel besoin d'appeler le service d'authentification WCF à partir d'une application ASP.NET? Considérons une application à trois niveaux dans laquelle tous les accès à la base de données doivent être effectués par le niveau applicatif. Il existe une base de données unique (couche de données) contenant des données métier ainsi que des données d'appartenance.

J'ai écrit une implémentation à trois niveaux dans laquelle un MembershipProvider personnalisé sur le niveau de présentation appelle le service AuthenticationService sur le niveau d'application qui à son tour exécute ma routine d'authentification personnalisée. Je pourrais très facilement créer un service WCF personnalisé (par exemple non AutheticationService) qui effectue cette authentification mais j'essaie d'utiliser des objets .NET lorsque cela est possible. ce serait bien si je pouvais dire à ASP.NET d'utiliser l'AutheticationService sans avoir besoin d'un fournisseur d'adhésion personnalisé, mais je ne pense pas que ce soit possible?