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

VB.NET Discussion :

Pb de connexion sql suite utilisation des controls de sécurité


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 97
    Par défaut Pb de connexion sql suite utilisation des controls de sécurité
    Bonjour,

    je suis en train de développer un site avec pour but de ne donner accès que sur login.
    J'utilise donc le control "Login" que j'ai configuré grâce à l'option "administer website" (oui mon VS2005 est en anglais)

    J'ai crée tous les groupes, les rôles, les utilisateurs et ça fonctionne plutôt bien. Je n'ai accès aux différentes pages qu'après m'être identifié.

    Par contre, lorsque je souhaite établir une connexion à une base de donnée SQL (sqlexpress compris dans vs2005), je reçois le message d'erreur suivant :

    Il faut que je précise qu'en mode non sécurisé, cette connexion fonctionne bien.

    D'ailleurs, j'arrive a me connecter a la base via un control SqlDataSource, ... en mode windows!

    Je pense que le problème vient d'un truc du genre : ma connexion à la ddb se fait en mode windows alors que la securité de mon site de fait via une authentification de type "forms".

    Mais étant débutant , je n'arrive pas à voir que faire pour m'en sortir.
    Dit-moi si je me trompe! Il faut établir la connexion à la base via un des comptes que j'utilise pour m'identifier au site. Mais ou sont-ils stockés et comment les utiliser?

    Voici le message d'erreur, merci d'avance à ceux qui me mettrons sur la piste de la connexion

    Tommy.

    PS : je ne savais pas si ce topic était du ressort SQL pur ou de VB.NET

    Cannot open database "Boulangerie" requested by the login. The login failed.
    Login failed for user 'GX700\ASPNET'.
    Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

    Détails de l'exception: System.Data.SqlClient.SqlException: Cannot open database "Boulangerie" requested by the login. The login failed.
    Login failed for user 'GX700\ASPNET'.

    Erreur source:


    Ligne 68 :
    Ligne 69 : ' Connexion à la base de donnée
    Ligne 70 : sqlConn.Open()
    Ligne 71 : ObjetCommand = New SqlCommand(strSql)
    Ligne 72 : ObjetDataAdapter = New SqlDataAdapter(ObjetCommand)


    Fichier source : c:\inetpub\wwwroot\mespatisseries\saisie.aspx.vb Ligne : 70

    Trace de la pile:


    [SqlException (0x80131904): Cannot open database "Boulangerie" requested by the login. The login failed.
    Login failed for user 'GX700\ASPNET'.]
    System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +739123
    System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
    System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1956
    System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +33
    System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) +170
    System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) +349
    System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +181
    System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +170
    System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +359
    System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +27
    System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +47
    System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +105
    System.Data.SqlClient.SqlConnection.Open() +111
    Default2.EnregSaisie_Click(Object sender, EventArgs e) in c:\inetpub\wwwroot\mespatisseries\saisie.aspx.vb:70
    System.EventHandler.Invoke(Object sender, EventArgs e) +0
    System.Web.UI.WebControls.Button.OnClick(EventArgs e) +105
    System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +107
    System.Web.UI.WebControls.Button.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +7
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +11
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +33
    System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +5102




    --------------------------------------------------------------------------------
    Informations sur la version : Version Microsoft .NET Framework :2.0.50727.832; Version ASP.NET :2.0.50727.832

  2. #2
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Tommy57 Voir le message
    Dit-moi si je me trompe! Il faut établir la connexion à la base via un des comptes que j'utilise pour m'identifier au site.
    Non, ça n'a rien à voir. Un compte de membre sur ton site n'est pas un compte SQL Server, c'est 2 choses différentes

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 97
    Par défaut
    Donc mon pb de connexion à ma base sql n'est pas lié à la sécurisation du site?

    D'après le log, peux-tu me dire vers ou chercher ou pas?

    J'avoue que je rame un peu là!

    Cordialement,
    Tommy

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Ben "login failed", ça veut dire que ton user/password pour te connecter à la base de données a été refusé
    La fait de mettre un login sur le site ne change rien à la façon de se connecter à la base, il faut que tu utilises le même compte SQL Server qu'avant

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    97
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 97
    Par défaut
    Bonsoir Tomlev,

    J'ai pris mes paramètres de connexion à ma base de donnée, les ai utilisés dans une page à part, non régie par la sécurité de mon site et cela fonctionne.

    Je me vois dans l'obligation d'insister

    En fait, dans le log, il est question de l'utilisateur 'GX700\ASPNET' donc un profil différent de celui utiliser pour sécuriser la connexion "tommy57" dans mon cas.

    Or pour créer ma connexion, j'ai un control SqlDataSource comme suit :

    Code ASP.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
        <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:MaConnectionAmaBase %>"
            SelectCommand="SELECT * FROM [Utilisateurs]">
        </asp:SqlDataSource>

    suivit d'un gridview pour afficher les infos d'une des tables de ma base

    Code ASP.NET : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
        <asp:GridView ID="GridView1" runat="server" DataSourceID="SqlDataSource1">
        </asp:GridView>

    Et dans mon web.config, j'ai la section suivante (rajoutée automatiquement par le control SqlDataSource au moment du paramétrage de ce dernier) :

    Code XML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    	<connectionStrings>
      <add name="MaConnectionAmaBase" connectionString="Data Source=GX700\SQLEXPRESS;Initial Catalog=Boulangerie;Integrated Security=True;Pooling=False"
       providerName="System.Data.SqlClient" />
     </connectionStrings>
    Au moment de paramétrer le conrol SqlDataSource il est possible de tester la requête et elle fonctionne.

    Il ne me reste plus qu'à déduire que les 2 sont liés, mais d'ou peu venir le problème si tu as raison?

    Faut-il faire attention à autre chose?

    D'avance merci pour l'aide que vous pourrez m'apporter sur ce problème

    Cordialement,
    Tommy

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Décidément je comprends rien à ton histoire : d'où il sort l'utilisateur 'GX700\ASPNET' ? Tu l'as spécifié explicitement quelque part ?

    Si je comprends bien les SqlDataSource fonctionnent, mais pas les connexions "explicites" (genre sqlConn.Open) ? Dans ce cas je ne vois pas le rapport avec la mise en place du MemberShip... La variable sqlConn dans ton code, tu l'initialises avec quelle chaine de connexion ?

Discussions similaires

  1. [Framework] Utilisation des Controllers/managers/Daos
    Par libuma dans le forum Spring
    Réponses: 10
    Dernier message: 31/01/2011, 10h40
  2. Réponses: 6
    Dernier message: 25/01/2011, 17h01
  3. Utiliser des controls créés dynamiquement
    Par abonnefoy dans le forum ASP.NET
    Réponses: 2
    Dernier message: 29/11/2010, 21h56
  4. [AC-2000] Syntaxe ds SQL qui utilise des variables
    Par bruno28 dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 09/12/2009, 10h14
  5. Réponses: 8
    Dernier message: 06/02/2009, 17h29

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