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

Framework .NET Discussion :

[sécurité] Changer d'utilisateur


Sujet :

Framework .NET

  1. #1
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut [sécurité] Changer d'utilisateur
    Bonjour,

    J'ai une application (asp).net qui tourne avec le compte asp.net par défaut system network il me semble mais peu importe.

    L'application doit écrire un fichier dans un dossier sur une partage réseaux.

    Ce partage réseau est accessible a un compte de domaine qui n'est pas le même que le compte qui fait tourner l'application .net.

    Ma question est donc la suivante : est ce qu'il y a une solution pour exécuter mon code d'écriture du fichier en tant qu'un autre utilisateur (avec son login + mot de passe) ?

    Merci

  2. #2
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Tu peux le faire en utilisant l'impersonation.
    Le problème de la solution proposée étant que ça se paramètre dans ton web.config et que par conséquent toutes les actions exécutées par le user ASPNET passeront alors par le compte utilisée par l'impersonation.
    Maintenant, je pense qu'il est possible de passer par une impersonation dynamique mais je ne me risquerai pas à te conseiller ça car je ne connais pas les risques que ça peut induire.

    Edit : peut-être quelque chose d'intéressant ici.

  3. #3
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    j ai vu quelqu'un qui a fait une classe impersonate qu'on peut utiliser via un using autour d'un bloc de code.

    Cela marche bien mais je me pose une question : Une impersonation dynamic affecte elle toute mon application, le process ou le thread ?

  4. #4
    Expert confirmé
    Avatar de Nicolas Esprit
    Homme Profil pro
    Consultant en technologies
    Inscrit en
    Février 2010
    Messages
    1 467
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Consultant en technologies
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 1 467
    Points : 4 066
    Points
    4 066
    Par défaut
    Bonjour,

    Sinon si tu ne veux pas t'embêter tu peux utiliser un Service Windows avec Remoting ou un WebService qui se chargera d'exécuter ton code. Le service utilisera l'impersonation avec le compte qui a accès aux ressources.

    Après dans ton appli ASP.NET tu n'as plus qu'à appeller le Service.

    Sinon tu peux utiliser comme l'a indiqué calagan un WindowsImpersonationContext.

    En espérant t'avoir aidé.

  5. #5
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Citation Envoyé par anthyme Voir le message
    Cela marche bine mais je me pose une question : Une impersonation dynamic affecte elle toute mon application, le process ou le thread ?
    De ce que j'en ai compris, le thread.

    La solution de Nicolas semble en effet plus simple dans sa mise en oeuvre mais si tu choisis de "n'impersonner" qu'une partie de code dans ton appli, je serai curieux de voir un morceau de code

  6. #6
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    L'application est terminé et on est en fin de recette donc non il me faut quelque chose de simple et rapide en mettre en place alors exit les solutions à base de services (sans parler de mettre toute l'architecture autour)

    Sinon le code vient d'une classe que j'ai trouvé sur codeproject

    Sans l'impersonation :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
                    try
                    {
                            SaveAs(entity.FullName, entity.InputStream);
                    }
    avec :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
                    try
                    {
                        using(new Impersonator("login","domaine","motdepasse"))
                            SaveAs(entity.FullName, entity.InputStream);
                    }
    Si c'est réellement qu'au niveau du thread cela ne devrait pas poser de problèmes mais il faudrait que j'en soit vraiment sûr

  7. #7
    Modérateur

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Avril 2007
    Messages
    1 996
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2007
    Messages : 1 996
    Points : 3 102
    Points
    3 102
    Par défaut
    Encore une fois, n'étant pas spécialiste, ne prends pas ce que je dis pour argent comptant.
    Mais si j'ai bien compris, l'un des risques de l'impersonation dans les appli mutli thread et que tous les threads crées manuellement perdent l'impersonation.
    J'en déduis que l'impersonation se joue au niveau du thread.

  8. #8
    Membre éprouvé Avatar de anthyme
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    1 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 559
    Points : 1 257
    Points
    1 257
    Par défaut
    Bon j'ai alerté mon client des risques on va voir ce qu'il en pense... le plus efficace et sûr serait quand même d'ajuster un peu la politique de droit!

    J'aime pas ce genre de remise en cause en fin de recette ...

    Merci pour votre aide en tout cas !

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

Discussions similaires

  1. [Conception] Sécurité au niveau utilisateur
    Par nathou38400 dans le forum Sécurité
    Réponses: 4
    Dernier message: 23/04/2007, 19h18
  2. [Sécurité] Liste déroulante utilisateurs
    Par seb92400 dans le forum IHM
    Réponses: 6
    Dernier message: 05/03/2007, 14h56
  3. Changer l'utilisateur lors de l'execution d'un script de démarrage
    Par kserradell dans le forum Administration système
    Réponses: 2
    Dernier message: 27/09/2006, 17h35
  4. Comment Changer l'utilisateur en cours sur access 2003
    Par schwinny dans le forum Access
    Réponses: 2
    Dernier message: 26/06/2006, 13h44
  5. Réponses: 4
    Dernier message: 18/10/2005, 09h54

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