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

ASP.NET Discussion :

Emprunt d'identité et connexion à SQL Server


Sujet :

ASP.NET

  1. #1
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut Emprunt d'identité et connexion à SQL Server
    Bonjour,

    Je souhaite faire une application extranet où chaque utilisateur doit être authentifié.

    Afin de ne pas m'embêter à gérer à la main la sécurité (login, politique de mot de passe, mise à jour entre le site et LDAP, etc.) je souhaite utiliser l'authentification Intégrée Windows : ainsi, l'utilisateur se connecte au site en indiquant son login/pass du domaine.

    Et pour aller jusqu'au bout, je souhaite gérer la sécurité/traçabilité dans SQL Server avec le même compte.

    J'ai donc activé l'emprunt d'identité.

    Ca m'a l'air de fonctionner côté ASP.NET.

    En effet, une fois authentifié, je peux accéder au site avec un mot de passe valide et la variable suivante est bien initialisée avec le nom d'utilisateur connecté :
    Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    System.Security.Principal.WindowsIdentity.GetCurrent().Name.ToString()

    Fort de ça, je tente de me connecter depuis le site à SQL Server avec la chaîne suivante :
    Code csharp : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Server=localhost;Database=MaBase;Integrated Security=true

    Evidement, l'utilisateur a bien accès à la base de données.
    Pourtant j'ai l'erreur suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    [Win32Exception (0x80004005): Accès refusé]
     
    [SqlException (0x80131904): Une erreur liée au réseau ou spécifique à l'instance s'est produite lors de l'établissement d'une connexion à SQL Server. Le serveur est introuvable ou n'est pas accessible. Vérifiez que le nom de l'instance est correct et que SQL Server est configuré pour autoriser les connexions distantes. (provider: Named Pipes Provider, error: 40 - Impossible d'ouvrir une connexion à SQL Server)]
    Je ne vois pas ce qui cloche.

    Si je force l'identité de mon Pool d'application avec l'utilisateur en question, ça marche bien !

    -- Edit : Si je force mon pool d'application avec un utilisateur qui n'a pas accès à la base, ça fait une autre erreur (plus compréhensible d'ailleurs) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    [SqlException (0x80131904): Échec de l'ouverture de session de l'utilisateur 'IIS APPPOOL\MonPool'.]
       System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling) +1370
    On dirait que dans le cadre de l'emprunt d'identité, le process IIS n'a pas accès à certaines ressources, à commencer par le réseau... Un peu comme "LocalService".
    Comment contourner ?
    On ne jouit bien que de ce qu’on partage.

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    Hmpf... Rien compris... D'un coup ça marche...
    On ne jouit bien que de ce qu’on partage.

  3. #3
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Chef de projets
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2010
    Messages : 4 147
    Points : 7 392
    Points
    7 392
    Billets dans le blog
    1
    Par défaut
    C'est moi ou cette fonctionnalité est complètement buggée ?

    Certes, je suis pas dans les meilleures conditions pour tester :
    - Sur un portable
    - Sous Windows 10 Pro hors domaine
    - SQL Server Developper

    Mais hier soir ça marchait, y compris après un reboot.

    Ce matin, au démarrage, ça ne fonctionnait plus (même erreur).

    Redémarrage de IIS, et hop ! Ça remarche !

    C'est moi ou bien ?
    On ne jouit bien que de ce qu’on partage.

  4. #4
    Nouveau Candidat au Club
    Inscrit en
    Juin 2007
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Re:Emprunt d'identite
    Ce probleme est frequement rencontre dans le cas de modification de ports d'acces.
    Il faut noter egalement que ASP.Net ouvre un port sous entendu temporaire pour lancer la requete HTTP.
    A mon niveau, je crois que vous avez un conflit entre applications pour l'acces au meme port.

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

Discussions similaires

  1. connexion sql server sécurisé
    Par liliprog dans le forum ASP.NET
    Réponses: 21
    Dernier message: 08/06/2005, 20h31
  2. [DEBUTANT] Connexion à SQL Server
    Par jesus144 dans le forum Bases de données
    Réponses: 2
    Dernier message: 08/03/2005, 12h38
  3. [C#] Problème de connexion sql server 2000
    Par rabbiwan dans le forum ASP.NET
    Réponses: 8
    Dernier message: 22/12/2004, 16h21
  4. Connexion à SQL Server avec ASP
    Par ayobo dans le forum ASP
    Réponses: 3
    Dernier message: 25/05/2004, 17h06
  5. Connexion SQL Server
    Par Bart51 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 06/05/2004, 10h49

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