Οντως δεν είναι χρήστες, είναι ρόλοι. Φαντάσου ένα "ζωντανό" "ανοιχτό" web σύστημα οπου π.χ. οι χρήστες εγγράφονται κατά βούληση. Τι κάνεις; Για κάθε νέο account φτιάχνεις ένα χρήστη στον SQL Server;
Η απάντηση είναι οχι. Ακόμα και αν δεν θέλεις να παίξεις με ρόλους, μια λύση είναι να δημιουργήσεις ΕΝΑ χρήστη στον SQL Server με ακριβώς τα προνόμια που θέλεις να έχουν ΟΛΟΙ οι web χρήστες σου και να τους κάνεις map όλους εκει πάνω.
Αν θέλεις να έχεις "ιδιαίτερους" χρήστες με περισσότερα προνόμια σε επίπεδο SQL Server (γιατι, ας μην ξεχνάμε, τα προνόμια μπορεί να εκχωρούνται και από την πλευρά της εφαρμογής και όχι αναγκαστικά της database), τότε χρησιμοποιείς έναν άλλο SQL χρήστη για αυτό το λόγο.
Σε παλαιότερη υλοποίηση ενός Web Portal σε ASP 3.0 (η φιλοσοφία όμως δεν αλλάζει), ειχα 2 χρήστες. Εναν με read-only access σε ορισμένους πίνακες (τυπικά, γίνονταν εκεί map όλοι οι χρήστες που έμπαιναν για να δουν το site) και έναν με read-write access (τυπικά, ο administrator η / και περιπτώσεις οπου ο χρήστης συμπλήρωνε μια φόρμα και γραφόταν κάτι στην database). Δυο SQL χρήστες, δυο connection strings, χρήση αναλόγως περίπτωσης. Αρχαία υλοποίηση, αλλά έτσι δουλεύει μέχρι σήμερα.
Σωτήρης Φιλιππίδης
DotSee Web Services