Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Πρόβλημα με asp.net authentication και μεταφορά βάσης με backup

Îåêßíçóå áðü ôï ìÝëïò R@_. Τελευταία δημοσίευση από το μέλος R@_ στις 09-03-2007, 11:07. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  08-03-2007, 13:59 26115

    Πρόβλημα με asp.net authentication και μεταφορά βάσης με backup

    Η βάση είναι SQL Server 2005 και περιέχει τους πίνακες, stored procedures κτλ για asp authentication.

    Η εφαρμογή είναι asp.net 2.0 (VB, VS 2005).

    Η εφαρμογή και η βάση είναι στο ίδιο PC.

    Δοκίμασα εχθές να μεταφέρω τη βάση σε άλλο μηχάνημα και να δω πώς πάει. Άλλαξα το connection string στο web.config, backup από το δικό μου μηχάνημα, restore στο άλλο και ... F5.

    Το μήνυμα που πήρα ήταν :
    The 'System.Web.Security.SqlMembershipProvider' requires a database schema compatible with schema version '1'. 
    However, the current database schema is not compatible with this version. 
    You may need to either install a compatible schema with aspnet_regsql.exe (available in the framework installation directory),
    or upgrade the provider to a newer version.

    Μετά από ψάξιμο, βρήκα από http://community.discountasp.net/pr.aspx?f=24&m=6679 κάποιον που έλεγε ότι αν κάνεις offline την εφαρμογή, κάτι αλλάζει στο web.config (ούτε αυτός ήξερε ακριβώς αλλά ούτε κι εγώWink, οπότε αν το αντιγράψεις στο directory της εφαρμογής θα παίξει. Δε λέω, δίκιο είχε, μόνο που όταν προσπάθησα να μπω στην εφαρμογή κατάλαβα (αφού πρώτα σιγουρεύτηκα ότι α) το πληκτρολόγιο δουλεύει κανονικά και β) δεν έχω ξεχάσει το password) πως δεν μεταφέρθηκαν οι χρήστες και οι ρόλοι.

    Κάτι άλλο που δοκίμασα διαβάζοντας κάποιο post από http://p2p.wrox.com/topic.asp?TOPIC_ID=44258 , ήταν να αντιγράψω τα περιεχόμενα του aspnet_SchemaVersions από το δικό μου PC.

    Users και roles πάντως παρέμειναν άφαντοι. Ευτυχώς που και οι δύο έχουν λίγες γραμμές και μου πήρε ελάχιστο χρόνο για να τους ξαναπεράσω.

    Ποιά είναι η σωστή διαδικασία που θα έπρεπε να ακολουθήσω;

  •  08-03-2007, 14:51 26117 σε απάντηση της 26115

    Απ: Πρόβλημα με asp.net authentication και μεταφορά βάσης με backup

    στο web.config στους providers πρέπει να δηλώσεις το ApplicationName για να μπορεί να κρατά τους χρήστες στις μεταφορές. Αν ανοίξεις τους πίνακες της βάσης πιστεύω ότι θα βρεις και τους παλιούς που είχες δηλώσει.
    Αυτό συμβαίνει γιατί ο μηχανισμός έχει σχεδιαστεί έτσι ώστε στην ίδια βάση να μπορεί να κρατά στοιχεία χρηστών από πολλές εφαρμογές.
  •  08-03-2007, 17:46 26134 σε απάντηση της 26117

    Απ: Πρόβλημα με asp.net authentication και μεταφορά βάσης με backup

    Σ'ευχαριστώ για την απάντηση, αλλά δυστυχώς (για μένα) δεν πολυκατάλαβα. Μήπως θα μπορούσες να μου δώσεις ένα παράδειγμα για το τμήμα του web.config στο οποίο αναφέρεσαι; Εφόσον το κάνω, τι γίνεται με τους ίδιους χρήστες και τους ίδιους ρόλους που έχω ξαναπεράσει; Θα δημιουργηθεί κάποιο conflict;
  •  09-03-2007, 09:27 26171 σε απάντηση της 26134

    Απ: Πρόβλημα με asp.net authentication και μεταφορά βάσης με backup

    Με τις παλιές εγγραφές δεν θα έχεις πρόβλημα. Καλό θα ήταν να τις σβήσεις, αλλά δεν πειράζει και να μείνουν.  

    <connectionStrings>
            <add name="dbConn" connectionString="Data Source=*****;Initial Catalog=*****;Persist Security Info=True;User ID=****;Password=****"
                providerName="System.Data.SqlClient" />
        </connectionStrings>
     
        <system.web>
          <sessionState mode="InProc" timeout="10"  />
          <compilation  debug="true" />
          <customErrors  mode="Off" />
          <authentication mode="Forms" />
          <globalization fileEncoding="utf-8" />
          <membership defaultProvider="customizedMemberProvider">
            <providers>
              <remove name="AspNetSqlProvider" />
              <add name="customizedMemberProvider"
                  type="system.web.security.sqlMembershipProvider"
                  connectionStringName="dbConn"
                  minRequiredPasswordLength="8"
                  maxInvalidPasswordAttempts="3"
                  enablePasswordRetrieval="false"
                  enablePasswordReset="true"
                  requiresQuestionAndAnswer="true"
                  requiresUniqueEmail="true"
                  passwordFormat="Hashed"
                  applicationName="membershipApp"
                  minRequiredNonalphanumericCharacters="0"/>
            </providers>
          </membership>
          <roleManager enabled="true" defaultProvider="CustomizedRoleProvider">
            <providers>
              <add name="CustomizedRoleProvider"
                   type="System.Web.Security.SqlRoleProvider"
                   connectionStringName="dbConn"
                   applicationName="membershipApp" />
            </providers>
          </roleManager>
          
          
        </system.web>
  •  09-03-2007, 11:07 26178 σε απάντηση της 26171

    Απ: Πρόβλημα με asp.net authentication και μεταφορά βάσης με backup

    Σ'ευχαριστώ πολύ Smile
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems