none
User does not have permission to perform this action RRS feed

  • Discussion générale

  • Bonjour

    Je viens de développer une application ASP.net 4 avec un système de login via des formulaires et une base de données SQL, celle fournie par défaut dans VisualStudio 2010...

    Mon application marche, en local... mais quand je la publie sur mon serveur... Le système de login ne marche plus et le serveur me renvoi l'erreur suivante: 

    Server Error in '/' Application.

    User does not have permission to perform this action.

    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

    Exception Details: System.Data.SqlClient.SqlException: User does not have permission to perform this action.

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Stack Trace:

    [SqlException (0x80131904): User does not have permission to perform this action.]
    
     System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +6277312
    
     System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning() +412
    
     System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1363
    
     System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK) +53
    
     System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, TimeoutTimer timeout) +6292062
    
     System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, TimeoutTimer timeout, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) +6291977
    
     System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) +352
    
     System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) +506
    
     System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) +49
    
     System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) +6293782
    
     System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) +78
    
     System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) +1922
    
     System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +89
    
     System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +6296606
    
     System.Data.SqlClient.SqlConnection.Open() +300
    
     System.Web.DataAccess.SqlConnectionHolder.Open(HttpContext context, Boolean revertImpersonate) +150
    
     System.Web.DataAccess.SqlConnectionHelper.GetConnection(String connectionString, Boolean revertImpersonation) +4603263
    
     System.Web.Security.SqlMembershipProvider.GetPasswordWithFormat(String username, Boolean updateLastLoginActivityDate, Int32& status, String& password, Int32& passwordFormat, String& passwordSalt, Int32& failedPasswordAttemptCount, Int32& failedPasswordAnswerAttemptCount, Boolean& isApproved, DateTime& lastLoginDate, DateTime& lastActivityDate) +3665527
    
     System.Web.Security.SqlMembershipProvider.CheckPassword(String username, String password, Boolean updateLastLoginActivityDate, Boolean failIfNotApproved, String& salt, Int32& passwordFormat) +189
    
     System.Web.Security.SqlMembershipProvider.ValidateUser(String username, String password) +202
    
     System.Web.UI.WebControls.Login.AuthenticateUsingMembershipProvider(AuthenticateEventArgs e) +225
    
     System.Web.UI.WebControls.Login.AttemptLogin() +166
    
     System.Web.UI.WebControls.Login.OnBubbleEvent(Object source, EventArgs e) +93
    
     System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +52
    
     System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +3691
    
    

    Comment faire pour solutionner ce probème ?

    Cordialement, Andrés Talavera | Microsoft Student Partner | Microsoft BizSpark Administrator | www.cresus.net


    Cordialement, Andrés Talavera | Microsoft Student Partner | Microsoft BizSpark Administrator | Microsoft Partner
    mercredi 24 novembre 2010 12:51

Toutes les réponses

  • Bonjour,

    C'est chez un hébergeur ?

    Ma démarche serait de faire une page non authentifiée et d'essayer de faire une requête quelconque sur la base pour voir ce que cela donne (je soupçonnerai un problème sur la chaîne de connexion à la base de données, par exemple une connexion qui serait faite avec un compte autorisé localement mais pas autorisé ou inexistant chez l'hébergeur ?)


    Please always mark whatever response solved your issue so that the thread is properly marked as "Answered".
    mercredi 24 novembre 2010 19:28
    Modérateur
  • Bonjour

    Merci de votre réponse, j'ai un serveur dédié et SQL Server Express était déjà installé.

    Pour avoir SQL Server 2008 R2 Web, je l'ai désinstallé, maintenant, je me retrouve avec un probème issu de .Net 4... Et l'installateur plante après la copie des fichiers de support...

    Je vais demander un RAS de mon serveur, avec comme seule installation Windows Web Server 2008 R2, le 30 novembre, et je vous tiens au courant :)

    Andrés Talavera - Crésus_
    Microsoft Student Partner | Microsoft BizSpark Administrator
    www.cresus.net | im.cresus@live.com | +33 6 25 00 19 31

    Retrouvez moi sur : Windows Live | Facebook | Twitter | MySpace | LinkedIN


    Cordialement, Andrés Talavera | Microsoft Student Partner | Microsoft BizSpark Administrator | Microsoft Partner
    jeudi 25 novembre 2010 16:43
  • Bonjour,

    Utilisez vous l'authentification Windows ou SQL Server ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    dimanche 5 décembre 2010 10:13
    Modérateur
  • Bonjour

    // Dsl du temps de réponse, j'ai pas eu la nitification.

    euh SQL Server (celle fournie par défaut avec ASP.net)


    Cordialement, Andrés Talavera | Microsoft Student Partner | Microsoft BizSpark Administrator | Microsoft Partner
    samedi 25 décembre 2010 01:48
  • Bonjour,

    Le compte utilisé pour s'authentifier, dipose-t-il des droits nécessaires pour pouvoir executer des requêtes de type SELECT dans votre base de données ASPNETDB ?

    Cordialement


    Gilles TOURREAU - MVP C#
    Architecte .NET/Consultant/Formateur chez Winwise
    Blog : http://gilles.tourreau.fr
    - MCPD : Enterprise Developper / Windows Developper 3.5 / ASP .NET 3.5
    - MCTS : ADO .NET 3.5 / SQL Server 2008 Developper / Windows Forms 3.5 / ASP .NET 3.5
    mercredi 29 décembre 2010 18:12
    Modérateur
  • Bonjour à tous,

    Moi aussi j'ai presque le même problème, J'ai un site internet en ASP.NET qui marche très très bien en locale mais lorsque je l'essaie chez mon hébergeur (amen.fr), j'obtiens l'erreur suivant:

    The EXECUTE permission was denied on the object 'aspnet_CheckSchemaVersion', database 'MyDataBase', schema 'dbo'

     Ma châine de connexion se présente de la manière suivant: 

     

        <remove name="LocalSqlServer"/>

        <add name="LocalSqlServer" connectionString="Data Source=hostingmssql04; Initial Catalog=MyDataBase; User ID=MyUser;Password=MyPassW" />

        <add name="ASPNETDBConnectionString" connectionString="Data Source=hostingmssql04; Initial Catalog=MyDataBase; User ID=MyUser;Password=MyPassW"/>

    En cherchant  sur le Net, j'ai vue qu'il fallait faire ceci:

    USE MyDataBase
    GO 
    sp_addrolemember 'aspnet_Membership_FullAccess', 'MyUser

    Mais en le faisant, j'obtiens l'erreur suivant: 

    p_addrolemember 'aspnet_Membership_FullAccess', 'MyDataBase' 
    Msg 15247, Level 16, State 1, Line number 51 
    User does not have permission to perform this action. 

    Et là, je n'arrive plus à avancer, je suis vraiment bloqué. Comment peut-je faire pour m'accorder le droit nécessaire afin de debloqué cette situation.

    Dans mon espace client de amen.fr, l'utilisateur MyUser est bel et bien coché DBA.

    Merci d'avance pour votre aide.  


    cebon
    mercredi 23 mars 2011 13:47