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

 

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

Περιορισμός χρήστη να βλέπει μια μόνο βάση

Îåêßíçóå áðü ôï ìÝëïò Karist. Τελευταία δημοσίευση από το μέλος Karist στις 20-09-2011, 15:28. Υπάρχουν 19 απαντήσεις.
Σελίδα 2 από 2 (20 εγγραφές)   < 1 2
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  20-09-2011, 14:17 67423 σε απάντηση της 67422

    Απ: Περιορισμός χρήστη να βλέπει μια μόνο βάση

    Έχεις δηλώσει το Login σαν User της βάσης. Βγάλε τον User από την βάση και κράτησέ τον μόνο σαν Login σε επίπεδο Server. Δεν χρειάζεται να τον δηλώσεις και σαν User στην βάση όταν τον κάνεις Owner αυτής.
  •  20-09-2011, 14:39 67424 σε απάντηση της 67423

    Απ: Περιορισμός χρήστη να βλέπει μια μόνο βάση

    Σωστά, "επαιξε", αλλά τώρα έχασα την δυνατότητα της απόκρυψης του table από τον χρήστη και τον περιορισμό στο design του View.

    Ετσι, η βάση μπορεί να ειναι μονο read, αλλά το table "ανοιγει" και με ένα copy-paste πήρε δεδομένα άλλων πελατών.

    Μπορούμε να το περιορίσουμε περισσότερο, ωστε το table να μην εμφανίζεται και στο View να μην έχει δυνατότητα  design;  

  •  20-09-2011, 14:46 67425 σε απάντηση της 67424

    Απ: Περιορισμός χρήστη να βλέπει μια μόνο βάση

    Να συμληρώσω μια διευκρίνηση, ότι την βάση αυτή δεν θα την  "χτυπάει" μονο ένας χρήστης αλλά περίπου 20 διαφορετικοί  και στο security δεν θα είναι μόνο ένας, αλλά 20.

    Πως θα γίνει αυτό για όλους τους χρήστες;

    Η εντολή    ALTER AUTHORIZATION ON DATABASE:: DataBase TO "user1"     θα τρέξει και τον "user2" με τα ιδια αποτελέσματα;

  •  20-09-2011, 15:06 67426 σε απάντηση της 67424

    Απ: Περιορισμός χρήστη να βλέπει μια μόνο βάση

    Όχι δεν μπορούμε δυστυχώς. Όπως θα είδες και εσύ το Management Studio δεν υποστηρίζει αυτό το Feature, δηλαδή όταν κάνει Login κάποιος στην βάση να βλέπει μόνο της βάσης στις οποίες έχει δικαίωμα. Αν και είναι ένα feature που είχε ζητηθεί πολύ παλαιότερα ούτε στον 2008 δεν έχει αλλάξει η συμπεριφορά. Και δεν γνωρίζω τι γίνεται στην νέα έκδοση.

    Όπως όμως γνωρίζεις όλες οι ρυθμίσεις του SQL υπάρχουν σε πίνακες και με τα κατάλληλα SQL Statements μπορούμε να αλλάξουμε συμπεριφορά στον Server ή στην βάση. Τα ίδια Statements τρέχει και το Management Studio όταν μας δίνει UI με Properties του server ή της βάσης. Δυστυχώς στο συγκεκριμένο κομμάτι δεν υπάρχουν άλλα SQL Statements που να μας επιτρέψουν να έχουμε περισσότερο έλεγχο.

    Η εντολή DENY VIEW ANY DATABASE TO δεν εμφανίζει τις υπόλοιπες βάσεις που υπάρχουν εκτός από τις System και αυτές όπου το Login είναι Owner (Αν δεν το αλλάξουν αυτό δεν γίνεται τίποτα). Και για αυτό κάναμε το Login Owner. Από την άλλη όμως δεν μπορείς να κρύψεις από τον Owner πίνακες τις βάσης του.... λίγο οξύμορο...

    Δυστυχώς αυτός είναι ο τρόπος. Ή αυτόν γνωρίζω, μέχρι εδώ δηλαδή φτάνουν οι γνώσεις μου. Οπότε ή κάποιος άλλος συνάδελφος θα μπορούσε να συνεχίσει από εδώ και μπρος ή και εγώ δεν ξέρω τι μπορείς να κάνεις. Θα μπορούσες για παράδειγμα να φτιάχνεις μία βάση για κάθε πελάτη αν είναι δυνατόν και να του περνάς τα δεδομένα μέσα στην βάση του; Οπότε να μην έχεις Views με WHERE κτλ και πίνακες με δεδομένα που δεν θα πρέπει να δει; Ερώτηση κάνω για να προβληματιστείς. Έτσι θα σε βόλευε αυτή η λύση. Από την άλλη δε μπορώ να σκεφτώ κάτι άλλο.

  •  20-09-2011, 15:28 67427 σε απάντηση της 67426

    Απ: Περιορισμός χρήστη να βλέπει μια μόνο βάση

    George, να σε ευχαριστήσω πρώτα για το ενδιαφέρον σου και τις πολύτιμες απαντήσεις σου

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

    Ετσι θα καταφέρω να κρύψω το Table και να "κοψω" το design & το Edit στο View.

    Ευχαριστώ και παλι

     

     

Σελίδα 2 από 2 (20 εγγραφές)   < 1 2
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems