none
Membership nefunguje na IIS

    Dotaz

  • Zdravim,


    potřeboval bych pomoct s jednou věcí. Udělal jsem si stranky ve vs2005 keteré používaji SQLMembership. Web jsem vyvýjel na integrovanem web servru co je v vs2005. A vše fungovalo. Po přesunuti webu do virtualního adresářě na IIS 5.x co je ve winXP dochazi k tomu že se není možné přihlásit (na IIS 6 ve windows 2003 se to chova stejně, nelze se prihlásit).
    Funkce Membership.ValidateUser(jmeno,heslo) vraci pořád false. Pokud zavolám ale zavolám Membership.GetUser(jmeno) data u6ivatele obdržím. Opravdu už nevím co s tím.

    Napadá někoho něco ?

    Tady je konfigurace Membership providera :

    <membership defaultProvider="MyProvider">
    <providers>
    <add name="MyProvider"
    type="System.Web.Security.SqlMembershipProvider, System.Web, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"
    connectionStringName="MemebershipProviderCN"
    enablePasswordRetrieval="false"
    enablePasswordReset="true"
    requiresQuestionAndAnswer="true"
    applicationName="/web01"
    requiresUniqueEmail="true"
    passwordFormat="Clear"
    maxInvalidPasswordAttempts="15"
    minRequiredPasswordLength="4"
    minRequiredNonalphanumericCharacters="0"
    passwordAttemptWindow="10"
    passwordStrengthRegularExpression="" />

    </providers>
    </membership>

    ConnectionString :
    <connectionStrings>
    <add name="MemebershipProviderCN" connectionString="data source=.\sqlexpress;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\ASPNETDB.mdf;User Instance=true" />
    </connectionStrings>

    RoleProvider je vypnuty.

    A celé se to vyvýjí proti sqlserveru express edition.

    Diky za každou radu.

    úterý 12. června 2007 17:49

Odpovědi

Všechny reakce

  • Takl včera večer jsem ještě zjistil, že pokud nepoužiji user instances a připojuji se na localni sqlServerExpress a do databaze vytvořené pomocí apnet_regsql.exe tak vše take funguje jak má. Ať už je aplikace hostovaná v development servru od Visual studia 2005 nebo běží v IIS 5.x nebo 6. Problém mi to ale neřeší, protože hoting na ostrý provoz vyžaduje právě databázi umístěnou v APP_DATA a proto musím používat user instances. Můžete mi nějak poradit jak to můžu zprovoznit ?

    Díky za každou odpověď.

    středa 13. června 2007 5:13
  • Tak jsem zjistil v cem je problem.

    Po pridani CreateUserWizard controlu a pokusu jeho vyuziti se mi vrati tato chyba :Failed to update database "C:\INETPUB\WWWROOT\TEST\APP_DATA\ASPNETDB.MDF" because the database is read-only.
    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: Failed to update database "C:\INETPUB\WWWROOT\TEST\APP_DATA\ASPNETDB.MDF" because the database is read-only.

    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): Failed to update database "C:\INETPUB\WWWROOT\TEST\APP_DATA\ASPNETDB.MDF" because the database is read-only.]
       System.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection) +857466
       System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) +735078
       System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) +188
       System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj) +1838
       System.Data.SqlClient.SqlCommand.FinishExecuteReader(SqlDataReader ds, RunBehavior runBehavior, String resetOptionsString) +149
       System.Data.SqlClient.SqlCommand.RunExecuteReaderTds(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, Boolean async) +886
       System.Data.SqlClient.SqlCommand.RunExecuteReader(CommandBehavior cmdBehavior, RunBehavior runBehavior, Boolean returnStream, String method, DbAsyncResult result) +132
       System.Data.SqlClient.SqlCommand.InternalExecuteNonQuery(DbAsyncResult result, String methodName, Boolean sendToPipe) +415
       System.Data.SqlClient.SqlCommand.ExecuteNonQuery() +135
       System.Web.Security.SqlMembershipProvider.CreateUser(String username, String password, String email, String passwordQuestion, String passwordAnswer, Boolean isApproved, Object providerUserKey, MembershipCreateStatus& status) +3612
       System.Web.UI.WebControls.CreateUserWizard.AttemptCreateUser() +305
       System.Web.UI.WebControls.CreateUserWizard.OnNextButtonClick(WizardNavigationEventArgs e) +105
       System.Web.UI.WebControls.Wizard.OnBubbleEvent(Object source, EventArgs e) +453
       System.Web.UI.WebControls.CreateUserWizard.OnBubbleEvent(Object source, EventArgs e) +149
       System.Web.UI.WebControls.WizardChildTable.OnBubbleEvent(Object source, EventArgs args) +17
       System.Web.UI.Control.RaiseBubbleEvent(Object source, EventArgs args) +35
       System.Web.UI.WebControls.Button.OnCommand(CommandEventArgs e) +115
       System.Web.UI.WebControls.Button.RaisePostBackEvent(String eventArgument) +163
       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

     

    Version Information: Microsoft .NET Framework Version:2.0.50727.42; ASP.NET Version:2.0.50727.210

     

    Jelikoz pri Membership.ValidateUser("jmeno","heslo") se vola procedura : aspnet_Membership_GetPasswordWithFormat ketra provadi i update, db je mozne ze kvuli tomu ze je databaze z neznamych duvodu readonly nedojde ke keroktnimu zpracovani dotazu a to ovlivni vysledek teto funkce.

     

    Napada nekoho co s tim ?

     

    Chyba se projevuje na pc s windows xp profesional s poslednimi updaty a SqlExpress sp2  a na windows 2003 server Sp2 s SSqlExpress sp2

    středa 13. června 2007 11:45
  • pridejte pravo zapisu na adresar APP_DATA  pro uzivatele aspnet pro IIS5.X nebo network service pro IIS6
    sobota 30. června 2007 17:00
  • Je možné že ve složce App_Data nejsou nastavena dostatečná přístupová oprávnění,tak aby bylo možné do této složky přistupovat.

    sobota 28. července 2007 12:39
  •  

    Ohledně převedení membershipu na ostrý server byly rady na ASPWEB (konkrétní pro tento hosting, možná též použitelné) http://www.aspweb.cz/main/co--podpora/id--42/Default.aspx tohle asi nic moc.

    Lepší jsou odpovědi na fórech: http://forum.aspweb.cz/Default.aspx?g=posts&t=307

    úterý 11. září 2007 8:16