IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#] Recupérer le UserName du NT Account


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 38
    Par défaut [C#] Recupérer le UserName du NT Account
    Bonjour,

    J'ai récupéré sur developpez.com une source C# qui recupere les infos de connexion de l'utilisateur. Quand j'utilise le projet winform, il m'affiche bien mon nom d'utilisateur (kwmg417).

    J'utilise le meme code sur un projet asp.net pour donner des droits sur certaines pages suivant le nom d'utilisateur qui se connecte au site, seulement au lieu de recuperer kwmg417, je recupere comme username aspnet !

    A quoi est ce du ?

    Voici le code que j'utilise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    // On récupère une chaine qui contient le domaine + login 
    string tempusername = WindowsIdentity.GetCurrent().Name;
    // On découpe cette chaine en 2
    int i = tempusername.IndexOf(@"\");
    // On récupère le login et le domaine
    string username = tempusername.Substring(i+1, tempusername.Length - i - 1);
    Merci d'avance pour votre aide.

  2. #2
    Membre expérimenté Avatar de wikipierre
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    222
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 222
    Par défaut
    Bonjour,
    L'username est celui du server ou est stocké ton server.

    Le code asp.net étant executé coté serveur est non client cela fait que ca te donnera toujours aspnet au lieu de l'username de ton utilisateur.

    Essaye de regarder coté javascript si c'est possible.

  3. #3
    jab
    jab est déconnecté
    Rédacteur
    Avatar de jab
    Homme Profil pro
    SharePoint developpeur
    Inscrit en
    Février 2004
    Messages
    1 173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : Belgique

    Informations professionnelles :
    Activité : SharePoint developpeur
    Secteur : Service public

    Informations forums :
    Inscription : Février 2004
    Messages : 1 173
    Par défaut
    C'estdu au fait que l'utilisateur qui exécute le programme sur le serveur n'est pas celui qui demande la page mais un utilisateur générique installé automatiquement sur le serveur.

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 38
    Par défaut
    Je crois avoir trouvé la réponse à ma question :


    Dim strUsername as String = System.Security.Principal.WindowsIdentity.GetCurrent().Name

    Response.write(strUserName)

    'Donc là, vous avez un truc du genre nom_Machine\ASPNET
    'C'est normal. Pour que ça marche, il faut ajotuer la ligne suivante au web.config
    '(tout en haut, dans system.web)


    ' Dans le webComfig
    <identity impersonate="true"/>

    'Et là, vous avez bien votre username !
    'En creusant, je suis sur qu'il est possible d'avoir le network, et tout le reste, mais 'le principe est là. Après chacun l'utilise comme il veut !
    Je peux pas essayer ce soir je mettrai "résolu" lundi si ca marche

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 38
    Par défaut
    bon la solution au dessus ne marche pas

    En fait quand j'ajoute <identity impersonate="true"/> dans le web.config, je recupere
    IUSR_NomDeMachine comme user au lieu de ASPNET precedemment...mais pas mon nom de login kwmg417 comme lorsque j'execute les meme instructions mais dans une form et non une web form

    Quelqu'un a t-il une idée pour m'aider ?

    Merci d'avance

  6. #6
    Membre confirmé

    Inscrit en
    Novembre 2005
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 42
    Par défaut
    Si tu utilises la methode d'identification windows dans ton web.config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <authentication mode="Windows" />
    tu recuperes le nom d'utilisateur avec User.Identity.Name

    il devrait te recupérer NomDeDomaine\NomDUtilisateur

  7. #7
    Membre averti
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2004
    Messages : 38
    Par défaut
    Citation Envoyé par ankou2005
    Si tu utilises la methode d'identification windows dans ton web.config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <authentication mode="Windows" />
    tu recuperes le nom d'utilisateur avec User.Identity.Name

    il devrait te recupérer NomDeDomaine\NomDUtilisateur

    ok, j'ai pas encore essayé ta solution

    ...mais par contre j'ai reussi autrement, en configurant mon site IIS:
    desactiver l'acces anonyme et cocher "Integrated windows authentification" ...et la il me retourne bien mon "vrai" username

    Merci pour votre aide 8)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 15/06/2006, 19h02
  2. Réponses: 3
    Dernier message: 14/04/2006, 12h02
  3. [Winsock] Envoi et recupération d'une image
    Par arnolanf dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 29/11/2002, 08h49
  4. recupèrer file d'attente d'impression
    Par magic corp. dans le forum Langage
    Réponses: 2
    Dernier message: 25/09/2002, 14h12
  5. comment puis-je recupérer l'extesion du fichier?
    Par mirella dans le forum Langage
    Réponses: 7
    Dernier message: 14/08/2002, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo