Comment faire pour utiliser l'Authentification Windows dans Windows Application?
Comment utiliser l'authentification windows (administrateur de la machine locale de l'utilisateur) dans windows application écrite en C#.
Besoin est chaque fois que l'utilisateur ouvre mon application windows GUI, il doit s'authentifier en tant qu'administrateur local, même si l'Utilisateur est connecté en tant qu'Administrateur.
Est-ce windows usurpation d'identité?
OriginalL'auteur Jango | 2010-05-25
Vous devez vous connecter pour publier un commentaire.
Vous pouvez appeler la
LogonUser
méthode de l'API pour vérifier un nom d'utilisateur et mot de passe.Vous pouvez voir le
[DllImport]
ici.Si vous souhaitez afficher un standard de nom d'utilisateur/mot de passe, vous pouvez appeler la CredUIPromptForCredentials la fonction de l'API; voir aussi ici
MODIFIER
Pour vérifier si l'utilisateur est un administrateur, vous pouvez appeler
CheckTokenMembership
et vérifier si l'utilisateur est dans laAdministrators
groupe.Sinon, vous pouvez appeler
NetUserGetInfo
de niveau 1 et de vérifier siusri1_priv
estUSER_PRIV_ADMIN
.Vous pouvez également utiliser WMI ou DirectoryServices.
Vous devez vérifier si le nom d'utilisateur est dans le groupe Administrateurs local. msdn.microsoft.com/en-us/library/Aa376389%28VS.85%29.aspx
Pour vérifier si l'utilisateur est Admin: je suis à l'aide Jeton de l'Utilisateur (variable de LogonUser méthode). voici le code:- WindowsIdentity identité = new WindowsIdentity(hToken); WindowsPrincipal principal = new WindowsPrincipal(identité); return principal.IsInRole(WindowsBuiltInRole.L'administrateur);
OriginalL'auteur SLaks
Une façon est si vos utilisateurs d'exécuter en tant que norme de compte, si vous définissez votre fichier manifeste pour être exécuter en tant qu'administrateur, puis il vous invite à saisir un nom d'utilisateur administrateur et le mot de passe toujours.
Ce que vous êtes probablement à la recherche de si la LogonUser API Win32 pour valider la auth info:
OriginalL'auteur Brian R. Bondy
Peut-être un peu tard, mais pour atteindre Fenêtre de la Fonctionnalité d'Authentification à une Application de Bureau C#, il y a deux étapes à accomplir avec les étapes ci-dessous.
Étape 1: Obtenir de l'utilisateur actuellement connecté détails:
C'est assez simple. nous pouvons atteindre cet objectif en utilisant la WindowsIdentity classe de
System.Security.Principal
espace de noms. Cette classe fournit une méthode statique,getCurrent()
, qui retournent un objet de WindowsIdentity.Soufflet est le code que vous pouvez utiliser pour obtenir le courant de l'utilisateur connecté détails.
Étape 2: Valider les informations d'identification windows fournie par l'utilisateur:
Besoin de demander un nom de domaine, nom d'utilisateur, le mot de passe de l'utilisateur pour transmettre ces valeurs à l'interopérabilité du service.
C'est peu complexe par rapport à ci-dessus que nous devons appeler les API de windows à l'aide de IntropServices. Pour accomplir cela, nous devons ajouter une fonction extern déclaration, puis appeler la fonction. De code suivant vous aidera à mieux comprendre ce processus.
OriginalL'auteur Ali