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

 

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

Απορίες για form authentication και membership provider

Îåêßíçóå áðü ôï ìÝëïò koku. Τελευταία δημοσίευση από το μέλος koku στις 10-10-2012, 15:33. Υπάρχουν 7 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  06-10-2012, 13:53 71355

    Απορίες για form authentication και membership provider

    Καλησπέρα,

    Εδώ και λίγο καιρό αποφάσισα να ασχοληθώ με asp.net και για λόγους εξάσκησης σκέφτηκα να υλοποιήσω μια web εφαρμογή (ASP.NET MVC 4 - Razor).

    Καταρχάς να πω δυο πράγματα για την εφαρμογή, όπως την έχω στο μυαλό μου.
    1) Η εφαρμογή θα είναι ανοικτή στο μεγαλύτερο μέρος της μόνο για εγγεγραμμένους χρήστες. Δηλαδή η αρχική σελίδα μάλλον θα είναι το login. Οι σελίδες που ίσως να είναι δημόσιες θα είναι απλά σελίδες με κείμενο.
    2) Τα μέλη θα έχουν τη δυνατότητα να καταχωρούν εγγραφές στη βάση (SQL Server 2012), καθώς επίσης και να ενημερώνουν και να διαγράφουν εγγραφές (μόνο τις δικές τους). Γενικά, ο κάθε χρήστης δεν θα πρέπει να έχει καμία επαφή με τις εγγραφές των άλλων.
    3) Αν το εγχείρημα πετύχει ίσως και να βγει on-line η εφαρμογή ως συνδρομητική.

    Ως τώρα έχω σχεδιάσει τη βάση και είμαι έτοιμος να ξεκινήσω τα υπόλοιπα. Χρησιμοποιώ Visual Studio Express 2012.

    Επειδή όμως θέλω να μάθω τις σωστές πρακτικές δεν έχω προχωρήσει στην υλοποίηση καθώς έχω κολλήσει στο θέμα της διαχείρισης των μελών.

    Έχω καταλάβει περίπου τι είναι το form authentication και ο membership provider, αλλά έχω μερικές απορίες:

    1) Ο membership provider περιλαμβάνει όσα και το form authentication;
    2) Υπάρχει κάποιο κέρδος από το συνδυασμό των δύο;
    3) Πως γίνεται αυτός ο συνδυασμός; Σε επίπεδο βάσης; Πως ενοποιούνται τα UserID των δύο βάσεων;

    Ευχαριστώ εκ των προτέρων και συγγνώμη για το μεγάλο μήνυμα.
  •  07-10-2012, 10:49 71358 σε απάντηση της 71355

    Απ: Απορίες για form authentication και membership provider

    Μάλλον τα έχεις μπερδέψει λίγο με το Forms Authentication & Membership Provider. Δεν είναι δύο πράγματα τα οποία μπορείς να τα βάλεις δίπλα και να τα συγκρίνεις.

    Το ένα αναφέρεται στο τι Authentication επιλέγω να έχω και το άλλο με ποιο τρόπο θα το κάνω. Οπότε στο site σου θα επιλέξεις να έχεις Forms Authentication με membership provider τον SqlMembershipProvider αν θέλεις να αποθηκεύεις τους χρήστες σε μία βάση.

  •  07-10-2012, 11:02 71359 σε απάντηση της 71358

    Απ: Απορίες για form authentication και membership provider

    Ίσως να με μπέρδεψε το Visual Studio, και εξηγούμαι:

    Έκανα new Project -> ASP.NET MVC 4 Web Application -> Internet Application που χρησιμοποιεί form authentication και περιέχει έναν account controller. Αυτό μου δημιουργεί μια βάση για users. Όταν όμως τρέχω το aspnet_regsql.exe μου φτιάχνει διαφορετικούς πίνακες για users.

    Οι πρώτοι πίνακες που φτιάχνει το template "Internet Application" τι είναι; Είναι κάποιος άλλος provider; Στο web.config δεν υπάρχει κάτι για membershipprovider.

    Πάντως ok κατάλαβα τη διαφορά.

    Ευχαριστώ
  •  07-10-2012, 11:18 71360 σε απάντηση της 71359

    Απ: Απορίες για form authentication και membership provider

    Ναι ο SQLMembershipProvider χρησιμοποιεί μία έτοιμη βάση, αυτή που είδες όταν έτρεξες το utility. Αυτό είναι επιθυμητό σε κάποιες περιπτώσεις και σε κάποιες άλλες όχι. Στην δεύτερη περίπτωση θα πρέπει να φτιάξεις εσύ ένα custom membership provider που να σου κάνει authenticate έναν χρήστη.

    Όσο για τα άλλα που με ρωτάς, δεν γνωρίζω ακριβώς τι σου φτιάχνει το template για MVC 4 οπότε δεν μπορώ να σου απαντήσω τι είναι αυτό το Internet Application που βλέπεις.

    Ο λόγος για τον οποίο δεν βλέπεις μέσα στο web.config membership provider φαντάζομαι πως έχει να κάνει με το τι επιλογή template που έκανες όταν δημιούργησες το project σου. Αν είχες επιλέξει empty MVC template τότε δεν θα σου έχει βάλει κάτι μέσα εκεί και θα περιμένει να το βάλεις εσύ. Δεν γνωρίζω αν τρέχοντας το utility aspnet_regsql.exe μέσα από το project σε design mode αν θα σου έβαζε αυτόματα τις καταχωρήσεις στο web.config. Για την ακρίβεια ποτέ δεν χρησιμοποίησα αυτό το utility. Πάντα έγραφα custom membership providers.

     

  •  07-10-2012, 11:20 71361 σε απάντηση της 71359

    Απ: Απορίες για form authentication και membership provider

    koku:
    Οι πρώτοι πίνακες που φτιάχνει το template "Internet Application" τι είναι; Είναι κάποιος άλλος provider; Στο web.config δεν υπάρχει κάτι για membershipprovider.

    Απαντώ μόνος μου. Νομίζω ότι το template  "Internet Application" χρησιμοποιεί τον SimpleMembershipProvider, που προφανώς έχει πιο απλή βάση.
  •  10-10-2012, 09:49 71378 σε απάντηση της 71360

    Απ: Απορίες για form authentication και membership provider

    George Parissis:

    Ναι ο SQLMembershipProvider χρησιμοποιεί μία έτοιμη βάση, αυτή που είδες όταν έτρεξες το utility. Αυτό είναι επιθυμητό σε κάποιες περιπτώσεις και σε κάποιες άλλες όχι. Στην δεύτερη περίπτωση θα πρέπει να φτιάξεις εσύ ένα custom membership provider που να σου κάνει authenticate έναν χρήστη. 


    Δεν χρειάζεται να φτιάξεις ένα custom provider αν δεν θέλεις να χρησιμοποιήσεις την έτοιμη βάση που σου δίνει το Visual Studio. Μπορείς να δημιουργήσεις τους ίδιους πίνακες σε μία δική σου βάση με το aspnet_regsql.exe

    Έχει νόημα να φτιάξεις τον δικό σου custom membership provider αν θέλεις να χρησιμοποιήσεις κάποιο μηχανισμό authentication που δεν περιλαμβάνεται στο ASP.NET όπως κάποιο LDAP πέρα από το Active Directory ή OAuth, ή αν θέλεις να χρησιμοποιήσεις μία άλλη βάση πέρα από τον SQL Server όπως π.χ. MySQL ή Oracle.

    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  10-10-2012, 15:20 71384 σε απάντηση της 71378

    Απ: Απορίες για form authentication και membership provider

    Έχει δίκιο ο παναγιώτης. Σε περίπτωση που θα χρησιμοποιήσεις το form authentication με τον default provider θα δημιουργηθεί μια βάση. αν εσύ στο project σου έχεις και την κανονική βάση και δεν θέλεις να έχεις δύο μπορείς να τις κάνεις merge. δες αυτό το παλιότερο post

    http://www.dotnetzone.gr/cs/forums/thread/60369.aspx

    για να δεις πώς θα κάνεις το merge. χρησιμοποίησε τα default αν δεν θέλεις να κάνεις κάτι fancy...

    Νικόλαος Καντζέλης
    BSc, MSc, MCAS, MCPD, MCITP, MCTS,MCP, MCT
    http://www.nksolutions.gr
    http://dotnetstories.wordpress.com
    http://weblogs.asp.net/dotnetstories
    http://forum.dotnetnuke.gr
  •  10-10-2012, 15:33 71385 σε απάντηση της 71384

    Απ: Απορίες για form authentication και membership provider

    Να διευκρινίσω κάτι:

    Οι 2 βάσεις που ανέφερα παραπάνω δεν είναι η δική μου και του provider. Απλά είπα ότι όταν φτιάχνω ένα project με το Visual Studio Express 2012 και επιλέγω ως πρότυπο το "Internet Application" δημιουργείται μία βάση με χρήστες η οποία είναι αρκετά διαφορετική από τους πίνακες που δημιουργεί το aspnet_regsql.exe. Δεν έχω πρόβλημα με το merge.
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems