Tous les frameworks d’authentification et d’autorisation pour l’application Windows Form?

Je suis un développeur C #. Je développe des applications Windows et Web. J’aimerais créer une application Winforms dotée d’un système basé sur les rôles. Tous les utilisateurs doivent être dans un rôle / groupe (s). Ensuite, nous atsortingbuons des permissions du type “Voir, Ajouter, Mettre à jour, ..” à un rôle / groupe. Le rôle / groupe est dynamic, nous avons donc laissé les utilisateurs le définir.

Existe-t-il des frameworks et de bons exemples de projets pour le mettre en œuvre?

J’ai l’habitude de me lancer moi-même, car .NET Framework est assez complet à cet égard, mais vous pouvez essayer le bloc MS Authorization and Profile Application Block .

Pour les détails de mise en œuvre dégoûtants, avez-vous examiné les “principes”? Voir ma réponse ici . Avec cette approche, vous pouvez utiliser la sécurité basée sur les rôles dans le code, telle que:

[PrincipalPermission(SecurityAction.Demand, Role="ADMIN")] static void SomeMethod() {...} 

Le moteur d’exécution lui-même va maintenant vérifier que l’utilisateur doit avoir votre rôle “ADMIN” pour entrer dans cette méthode (vous pouvez évidemment aussi désactiver l’option dans l’interface utilisateur en cochant IsInRole(...) ). Très puissant.

Si vous ne souhaitez pas trop réinventer la roue, jetez un coup d’œil à un produit appelé Visual Guard . Il vous permet d’append facilement de la sécurité à votre application avec un travail minimal, et dispose d’un ensemble d’outils très complet.

Si vous connaissez déjà ASP.NET, vous connaissez probablement déjà le système d’adhésion / de rôle / de profil ASP.NET, ainsi que les fournisseurs par défaut et la possibilité d’append le vôtre sans trop de tracas.

Ne serait-il pas formidable de pouvoir utiliser tout cela à partir de vos applications Windows Forms ou WPF? Oui? Alors jetez un coup d’œil aux services d’application ASP.NET ! Vous configurez simplement un site Web pour fournir une URL d’authentification, puis vous indiquez à votre application de l’utiliser. Vous pouvez créer votre propre fenêtre de connexion personnalisée et laisser les services de l’application l’ouvrir en cas de besoin, ou utiliser votre propre logique et appeler les méthodes vous-même.

Il prend totalement en charge le «mode hors connexion», où il met en cache un hachage du mot de passe pour le comparer, il peut également mettre en cache des rôles et vous permet d’utiliser les parameters de profil.