2017-10-01 10 views
0

Nous recevons des exigences des clients qui souhaitent une authentification unique et une configuration simple des droits utilisateur pour notre application WinForms utilisant Active Directory.SSO dans l'application WinForms et AD

L'application a intégré la fonctionnalité de connexion à l'aide de WCF.

J'ai cherché quelques conseils, mais je finis toujours par trouver des réponses sur WebForms et les projets MVC.

Quelqu'un a-t-il une expérience avec ceci ou des liens qui pourraient me guider dans la bonne direction?

Je n'ai vraiment aucune expérience de l'intégration AD mais je sais que les frameworks .net les plus récents ont des fonctionnalités intégrées pour cela.

Merci à l'avance :)

+0

Le facteur mystique est un peu élevé, mais la "fonctionnalité de connexion intégrée" ne sonne pas très bien. Quoi que cela puisse signifier, ils veulent sûrement que vous l'enleviez. Ils se sont déjà connectés quand ils ont démarré leur système d'exploitation, ils ne veulent plus le faire. –

+0

Ne vous suivez pas. Indiquez seulement que les utilisateurs doivent se connecter à notre application afin de s'identifier dans notre backend. Il n'y a rien d'étrange à cela. Intégré signifie que la fonctionnalité de connexion est gérée par l'application au lieu d'un autre service. – Beaker

+0

Ce dont j'avais besoin, ce n'était pas de conseiller sur pourquoi les utilisateurs pourraient le vouloir, c'est clair car tout le monde aime la simplicité et n'a pas besoin d'effectuer des processus dupliqués. Ce dont j'avais besoin était de conseiller sur la façon de mettre en œuvre SSO dans une application qui a jusqu'à présent, géré l'authentification et l'autorisation elle-même par login – Beaker

Répondre

0

Pour effectuer l'authentification unique dans les applications Windows est facile, vous obtenez l'utilisateur actuellement connecté AD et acceptez que à leur valeur nominale.

System.DirectoryServices.AccountManagement.UserPrincipal.Current 

Tout le reste ne sera pas SSO. SSO signifie single sign-on, et lorsqu'il est connecté à Windows, l'utilisateur a déjà effectué la connexion unique. Si ce que vous voulez est de vérifier le nom d'utilisateur/mot de passe qu'ils entrent contre AD, ce n'est pas SSO, mais vous pouvez le faire avec la méthode ValidateCredentials d'un objet PrincipalContext de l'espace de noms ci-dessus.

+0

Merci pour cela. Ce dont j'ai vraiment besoin, c'est d'un moyen de lier l'utilisateur dans AD à nos propres utilisateurs pour déterminer qui a accès et qui ne l'a pas. Et peut-être distinguer les différents rôles des utilisateurs. – Beaker