2009-07-23 8 views
4

J'ai une application Web ASP.NET que j'ai créée pour un client qui utilise par défaut l'authentification par formulaires ASP.NET. Ils demandent maintenant une application de bureau (WinForms) qui fonctionne "avec" l'application web. J'ai créé les webservices pour accéder aux données qu'ils veulent depuis l'application web et les mettre dans l'application de bureau. Cela fonctionne très bien .. mais il doit y avoir le même niveau de sécurité et d'accès aux données basé sur les rôles déjà stockés dans l'application asp.net.Authentification .Net pour web et winforms

Alors maintenant il est temps de faire fonctionner l'authentification dans les deux applications. Je voudrais profiter de l'authentification asp.net en demandant une connexion lorsqu'un utilisateur ouvre d'abord l'application WinForms et les appels éventuellement un service Web pour authentifier l'utilisateur, obtenir le rôle des utilisateurs et le profil.

Je suis sûr que cela a fait et ou demandé au sujet de .. Je ne trouve tout simplement pas la question/réponse dans SO.

Répondre

1

Première: utilisez WCF pour vos services Web. C'est un meilleur cadre que les anciens services ASMX. Deuxièmement: WCF peut utiliser les mêmes classes RoleProvider et MembershipProvider que votre application ASP.NET utilise. C'est un simple commutateur de configuration. Utilisez les deux et votre service Web requiert les mêmes informations d'identification que l'application Web.

Et ... c'est à peu près tout.

Pour plus d'informations, voir:

Implementing a Role Provider

Implementing a Membership Provider

How to: Use the ASP.NET Membership Provider

0

Pour ajouter à la réponse de Randolpho: une autre caractéristique utilisateurs pourraient vous est la possibilité d'enregistrer leurs titres de compétences plutôt que d'entrer eux chaque fois qu'ils commencent votre demande. Vous pouvez utiliser l'API Credential Management pour cela comme décrit in this answer.

Questions connexes