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

Administration SQL Server Discussion :

Utilisateur ASP.NET introuvable [2008R2]


Sujet :

Administration SQL Server

  1. #1
    Membre habitué Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Points : 128
    Points
    128
    Par défaut Utilisateur ASP.NET introuvable
    Bonjour,

    je cherche à déclarer dans SQL Server 2008 R2 express l'utilisateur ASP.NET. Aussi pour cela après avoir ouvert SQL Server 2008 R2 express, depuis la section Sécurité/Connexion de l'explorateur d'objets, j'utilise le menu contextuel Nouvelle connexion. Je rentre comme nom d'utilisateur <computer name>\ASPNET, ce qui donne dans mon cas précis Sébastien-PC\ASPNET, utilisateur figurant normalement sur la machine qui fait tourner le serveur Web IIS. Dans l'onglet mappage de l'utilisateur, je sélectionne labase cible et j'applique les rôles (db_owner). Lorsque je clique sur OK, j'ai ce message d'erreur:
    Utilisateur ou groupe Windows NT 'Sébastien-PC\ASPNET' introuvable. Vérifiez une nouvelle fois le nom
    J'ai besoin de déclarer cet utilisateur dans SQL Server 2008 R2, car j'ai des sites web qui utilisent le serveur IIS 6.0 et donc cela est nécessaire pour que l'appli se connecte à la base de données.

    Merci d'avance pour votre réponse.

  2. #2
    Expert éminent
    Avatar de StringBuilder
    Homme Profil pro
    Chef de projets
    Inscrit en
    Février 2010
    Messages
    4 146
    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 146
    Points : 7 388
    Points
    7 388
    Billets dans le blog
    1
    Par défaut
    Dans IIS, vérifie/change l'identité utilisée par ton Pool d'application (prends bien celui qui est utilisé par ton site).

    Sur mon PC, sous Windows 8.1 j'avais un problème similaire (le compte IUSR ne voulait pas s'ajouter dans SQL Server). J'ai fini par créer un user spécialement pour mn AppPool, puis lui accorder les droits dans SQL Server et depuis tout roule.
    On ne jouit bien que de ce qu’on partage.

  3. #3
    Membre habitué Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    après les explications ci-dessus et quelques recherches j'ai trouvé je pense quelques renseignements intéressants:
    Apparemment il y'a une piste avec ceci:
    Lors de l'utilisation de l'emprunt d'identité, les applications ASP.NET peuvent s'exécuter avec l'identité Windows (compte d'utilisateur) de l'utilisateur qui fait la requête. L'emprunt d'identité est utilisé couramment dans les applications qui s'appuient sur Microsoft Internet Information Services (IIS) pour authentifier l'utilisateur.

    L'emprunt d'identité ASP.NET est désactivé par défaut. Si l'emprunt d'identité est activé pour une application ASP.NET, cette application s'exécute dans le contexte de l'identité dont le jeton d'accès est passé à ASP.NET par IIS. Ce jeton peut être un jeton utilisateur authentifié, tel qu'un jeton pour un utilisateur Windows identifié, ou un jeton qu'IIS fournit aux utilisateurs anonymes (il s'agit en général de l'identité IUSR_MACHINENAME).

    Lorsque l'emprunt d'identité est activé, seul votre code d'application s'exécute sous le contexte de l'utilisateur représenté. Les applications sont compilées et les informations de configuration sont chargées à l'aide de l'identité du processus ASP.NET. Pour plus d'informations, consultez Configuration de l'identité de processus ASP.NET. L'application compilée est mise dans le répertoire de fichiers Temporary ASP.NET. L'identité de l'application représentée a besoin d'avoir un accès en lecture/écriture à ce répertoire. L'identité de l'application représentée requiert aussi au moins l'accès en lecture aux fichiers du répertoire et des sous-répertoires de votre application. Pour plus d'informations, consultez Listes de contrôle d'accès requis par ASP.NET.
    Identité empruntée:
    IIS APPPOOL\DefaultAppPool
    Du coup je rentre comme utilisateur ASP.NET l'identité emprunté dans SQL Server 2008 R2 (fonction Nouvelle connexion dans Sécurité/Connexion) après avoir préalablement activé celui-ci avec le gestionnaire de services IIS. SQL Server me reconnaît le username avec la fonction recherche, mais quand je valide sur OK il trouve que l'utilisateur est introuvable.

    Avez-vous une idée du problème?

    Merci d'avance pour votre réponse.

  4. #4
    Membre habitué Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Points : 128
    Points
    128
    Par défaut
    Bonjour à tous,

    j'aurais souhaité quelques éclaircissements par rapport à la réponse qui m'a été faîte au-dessus.
    Voici ce que j'ai mis pour connaître l'identité de l'utilisateur utilisé par le site web:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String username = System.Security.Principal.WindowsIdentity.GetCurrent().Name;
    Voici ce que je reçois en réponse:
    IIS APPPOOL\DefaultAppPool
    Je cite la phrase qui m'intéresse:
    Dans IIS, vérifie/change l'identité utilisée par ton Pool d'application (prends bien celui qui est utilisé par ton site).
    Je suppose que l'identité utilisé par le site web est celle que j'ai par la commande que j'ai mise ci-dessus dans l'application. (cad:IIS APPPOOL\DefaultAppPool)
    Je suis allé dans le gestionnaire des services internet IIS, je clique sur Pool d'applications. J'ai la possibilité de définir les valeurs par défaut du pool d'applications sur un lien en haut à droite. Dans la propriété identité, il y'a la possibilité de changer l'identité qui est par défaut: ApplicationPoolIdentity. J'ai la possibilité de choisir un compte intégré ou un compte personnalisé. Si je choisis compte personnalisé il me propose de choisir nom d'utilisateur et mot de passe. Je dois mettre IIS APPPOOL\DefaultAppPool comme utilisateur pour que cela fonctionne? Bref je suis un peu perdu dans ce gestionnaire. Merci d'avance si vous pouvez m'éclairer.

  5. #5
    Membre habitué Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Points : 128
    Points
    128
    Par défaut
    Sinon en apparté voici le problème que j'ai actuellement et que je n'arrive pas à résoudre:

    Mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    using System;
    using System.Data;
    using System.Configuration;
    using System.Collections;
    using System.Web;
    using System.Web.Security;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Web.UI.HtmlControls;
     
    using System.Data.SqlClient;
     
    public partial class sql_connexion : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
    		// initialisation de la connexion
    		string c_string=@"data source=.\SQLEXPRESS; initial catalog=annuaire; integrated security=true";
    		SqlConnection cx_annuaire;
    		cx_annuaire=new SqlConnection();
    		cx_annuaire.ConnectionString=c_string;
     
     
            //String username = 
            //System.Security.Principal.WindowsIdentity.GetCurrent().Name;
     
     
    		// ouverture
    		cx_annuaire.Open();
     
    		// opérations SQL 
    		string rq = "select count(*) from utilisateur";
    		SqlCommand sql;
    		sql = new SqlCommand();
    		sql.CommandText = rq;
    		sql.CommandType = CommandType.Text; // valeur par défaut
    		sql.Connection = cx_annuaire;
     
    		int cu = (int)sql.ExecuteScalar();		
    		Label1.Text = string.Format("Nombre d'utilisateur : {0}", cu);
     
    		// fermeture
    		cx_annuaire.Close();
        }
     
    	void connexion_sure()
    	{
    		// initialisation de la connexion		                                          
            string c_string = @"data source=.\SQLEXPRESS; initial catalog=annuaire; integrated security=false; user id=sa; password=password";
    		SqlConnection cx_annuaire;
    		cx_annuaire = new SqlConnection();
    		cx_annuaire.ConnectionString = c_string;
     
    		try
    		{
    			// ouverture
    			cx_annuaire.Open();
     
    			// opérations SQL 
    			// ...
    		}
    		catch (SqlException err)
    		{
    			Trace.Write(err.Message);
    		}
    		finally
    		{
    			try
    			{
    				// fermeture
    				cx_annuaire.Close();
    			}
    			catch (Exception err2)
    			{
    				Trace.Write(err2.Message);
    			}
    		}
    	}
    }
    Au moment de l'ouveture de la connexion, voici mon problème:
    Impossible d'ouvrir la base de données "annuaire" demandée par la connexion. La connexion a échoué.
    Échec de l'ouverture de session de l'utilisateur 'IIS APPPOOL\DefaultAppPool'.

  6. #6
    Membre habitué Avatar de mumu27
    Profil pro
    Développeur informatique
    Inscrit en
    Mars 2009
    Messages
    213
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France, Eure (Haute Normandie)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mars 2009
    Messages : 213
    Points : 128
    Points
    128
    Par défaut
    Voici la réponse à mon problème sur ce lien:

    http://patricelamarche.net/2009/09/2...efaultapppool/

    Voilà, en espérant que cela aide, problème concernant les PC sous Windows 7 et peut-être supérieur.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/03/2010, 18h09
  2. Réponses: 0
    Dernier message: 25/08/2008, 10h37
  3. [ASP.net & VB.net] Application multi-utilisateur
    Par miya dans le forum ASP.NET
    Réponses: 4
    Dernier message: 03/04/2007, 17h48
  4. Réponses: 1
    Dernier message: 01/03/2007, 17h30
  5. [ASP.NET 2.0][C#] Login utilisateur
    Par lenoil dans le forum ASP.NET
    Réponses: 4
    Dernier message: 14/02/2007, 09h48

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