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

 

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

Login control της ASP.net 2 να κοιτάει σε μια ήδη υπάρχουσα βάση

Îåêßíçóå áðü ôï ìÝëïò Arthur. Τελευταία δημοσίευση από το μέλος KelMan στις 20-01-2008, 11:19. Υπάρχουν 5 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  17-01-2008, 23:16 39313

    Login control της ASP.net 2 να κοιτάει σε μια ήδη υπάρχουσα βάση

    Θα ήθελα να κάνω μια ερώτηση:

    (Έχω ήδη μια βάση με πελάτες που ο καθένας έχει λογαριασμούς καταθέσεων δάνεια κτλ - ότι έχει μια τράπεζα )

    Το θέμα είναι ότι σε αυτό το project ( μάθημα τεχνολογίας λογισμικού ) θα πρέπει να κατασκευαστεί και σελίδα από την οποία θα μπορεί ένας πελάτης να ελέγχει τον λογαριασμό του.

    Το πρόβλημα μου είναι ότι το login control δημιουργεί μια δική του βάση και δεν ξέρω με ποιο τρόπο να το κάνω να 'κοιτάει' σε μια ήδη υπάρχουσα.

    Εάν κάτι τέτοιο είναι υπερβολικά πολύπλοκο θα με βοηθούσατε πάρα πολύ εάν μπορούσατε να μου πείτε εάν γίνεται να προσθέσω σαν foreign key στην βάση που δημιουργεί το login control το primary key της ήδη υπάρχουσας (είναι σε διαφορετικά μηχανήματα που βρίσκονται σε LAN - αν αυτό είναι μεγάλο πρόβλημα θα μπορούσα να τα βάλω στο ίδιο μηχάνημα)

    Ευχαριστώ προκαταβολικά.

    (καταλαβαίνω οτι το 'εαν' είναι κυρίως για SQL και εάν υπάρχει πρόβλημα πείτε μου έστε να το μετακινήσω σε αντίστοιχο thread)

    Never trust a computer you can't throw out of a window.
  •  18-01-2008, 01:24 39316 σε απάντηση της 39313

    Απ: Login control της ASP.net 2 να κοιτάει σε μια ήδη υπάρχουσα βάση

    Για να δημιουργήσεις τους πίνακες σε δική σου βάση, πρέπει να χρησιμοποιήσεις το Aspnet_regsql tool. Θα σου κατασκευάσει τους απαραίτητους πίνακες και κατόπιν θα χρειάζεται να συσχετίσεις τον δικό σου πίνακα που έχει τους χρήστες σου με μία σχέση 1:1 με τον πίνακα που κρατάει τους χρήστες ο SQL membership provider. Κατόπιν, θα χρειαστεί να ρυθμίσεις ανάλογα το web.config αρχείο. Στην ενότητα <ConnectionStrings> θα πρέπει να προσθέσεις το connection string της βάσης, πχ:

    <connectionStrings>
       <add name="MembershipConnection" connectionString="Integrated Security=SSPI;Persist Security Info=False;Initial Catalog=Membership;Data Source=ABCDE" />
    </connectionStrings>

    Στην ενότητα <system.web> θα πρέπει να δηλώσεις τους providers, κάπως έτσι:

    <membership defaultProvider="SqlMembershipProvider" userIsOnlineTimeWindow="15">
    <providers>
    <clear />
    <add name="SqlMembershipProvider"
    type="System.Web.Security.SqlMembershipProvider"
    connectionStringName="MembershipConnection"
    applicationName="MyApplication"
    enablePasswordRetrieval="false"
    enablePasswordReset="false"
    requiresQuestionAndAnswer="false"
    requiresUniqueEmail="true"
    passwordFormat="Hashed" />
    </providers>
    </membership>

    <roleManager enabled="true" defaultProvider="SqlRoleProvider">
    <providers>
    <add name="SqlRoleProvider"
    type="System.Web.Security.SqlRoleProvider"
    connectionStringName="MembershipConnection"
    applicationName="SampleApplication" />
    </providers>
    </roleManager>

     

     


    Vir prudens non contra ventum mingit
  •  19-01-2008, 10:13 39353 σε απάντηση της 39313

    Απ: Login control της ASP.net 2 να κοιτάει σε μια ήδη υπάρχουσα βάση

    το asp.net membership σου φτιάχνει όπως περιγράφτηκε ήδη τους πίνακές του στην βάση που επιθυμείς.

    Ωστόσο, αν έχεις εσύ δικό σου πίνακα με usernames + passwords τότε θα πρέπει να γράψεις τον δικό σου MembershipProvider (δεν είναι δύσκολο) ή να αλλάξεις κάποια πράγματα στην εφαρμογή σου ώστε να μην είναι τόσο στενή η σύνδεση με τον πίνακα χρηστών και να μπορέσεις να αξιοποιήσεις τον μηχανισμό του membership.
  •  20-01-2008, 00:42 39373 σε απάντηση της 39316

    Απ: Login control της ASP.net 2 να κοιτάει σε μια ήδη υπάρχουσα βάση

    Ευχαριστώ για τις απαντήσεις σας. KelMan από αυτά που έγραψες σε συνδιασμό με κάτι βιντεάκια που είδα το κατάφερα το login control να βλέπει στην βάση που θέλω. Τώρα μένει η 1:1 συσχέτιση που ακόμα δεν έχω βρει λύση.


    Never trust a computer you can't throw out of a window.
  •  20-01-2008, 00:47 39374 σε απάντηση της 39353

    Απ: Login control της ASP.net 2 να κοιτάει σε μια ήδη υπάρχουσα βάση

    (Προς NullVoid) Θα το κοιτάξω αυτό που μου λες γιατί έτσι μάλλον είναι ο καλύτερος τρόπος για να επιλυθεί η 1:1 αντιστοιχία που αναφέρει ο KelMan πιο πάνω. Αν γινόταν να μου δώσεις κάποιο link που να τα εξηγεί (καλά γιατί ASP μέχρι πριν από 1 εβδομάδα δεν είχα ξαναδεί) θα με βοηθούσες απίστευτα.


    Never trust a computer you can't throw out of a window.
  •  20-01-2008, 11:19 39377 σε απάντηση της 39373

    Απ: Login control της ASP.net 2 να κοιτάει σε μια ήδη υπάρχουσα βάση

    Μπορείς να το κάνεις πολύ απλά. Θα προσθέσεις στον δικό σου πίνακα με τους πελάτες ένα extra πεδίο αντίστοιχο με το UserID του πίνακα aspnet_Users από τη membership βάση. Κατόπιν θα βάλεις ένα unique constraint και στους δύο πίνακες, σε αυτό το πεδίο το UserID και μετά θα φτιάξεις ένα PK-FK μεταξύ των δύο πινάκων πάνω σε αυτό το πεδίο. Αυτή είναι η σχέση 1:1. Ο λόγος που χρειάζεται να προσθέσεις το unique constraint στον πίνακα aspnet_Users είναι ότι το υπάρχον constraint αφορά στο συνδυασμό ApplicationId και UserID. Πλέον θα πρέπει προγραμματιστικά να χειρίζεσαι τον συγχρονισμό των πινάκων.

    Ο nullvoid σου είπε άλλο πράγμα. Σου είπε ότι μπορείς να αποφύγεις όλα τα παραπάνω αν κάνεις τον δικό σου membership provider στον οποίο μέσω κώδικα θα γράψεις σε ποιά βάση θα κοιτάει, τα querys που θα κάνει, τί πεδία θα συγκρίνει για να αποφασίσει αν ένας χρήστης είναι authorized ή όχι, κλπ, κλπ.


    Vir prudens non contra ventum mingit
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems