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

 

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

Ενοχλητικό μήνυμα

Îåêßíçóå áðü ôï ìÝëïò neoklis. Τελευταία δημοσίευση από το μέλος cap στις 18-07-2007, 12:05. Υπάρχουν 6 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  16-07-2007, 13:51 33611

    Ενοχλητικό μήνυμα

    Καλησπέρα,

    Εδώ και αρκετό καιρό 'παίζω' με τα roles permissions του SQL server. Αφού κατάλαβα πως δουλεύει εμφανίζει ένα ενοχλητικό μήνυμα του συστήματος το οποίο θέλω να το αποκρύψω η να το "μεταφράσω" ώστε να γίνεται αντιληπτό από τους χρήστες.

    Μέσω μιας Access λοιπόν με linked πίνακες σε Sql Server 2000 o χρήστης κάνει view τις εγγραφές. Έχει permissions μόνο για view και τίποτα άλλο. Εάν από λάθος όμως προσπαθήσει να κάνει update ή new record το σύστημα (πολύ σωστά) του πετάει ένα μήνυμα τύπου "ODBC --insert on a linked table 'dbxeriaDet' failed. Υπάρχει τρόπος να γίνει πιο "γήινο" το μήνυμα για τον χρήστη ή να μην το βγάζει καθόλου ή να μην αφήνει περιθώρια στον χρήστη (εφόσον δεν έχει permissions) για τις συγκεκριμένες ενέργειες;

    Ευχαριστώ


    Dionisis
  •  16-07-2007, 14:07 33612 σε απάντηση της 33611

    Απ: Ενοχλητικό μήνυμα

    Αφού έχεις μόνο read only δικαιώματα γιατί δεν κλειδώνεις τα πεδία στην φόρμα σου;

    Δεν είναι λίγο περίεργο να τον αφήνεις να πειράζει τα πεδία και μετά να του λες ότι δεν μπορεί να τα αλλάξει ή να κάνει νέα εγγραφή;


    Φιλάρετος Σεβαστιάδης.

    Albert Camus: Life is the sum of your choices.

  •  16-07-2007, 14:24 33614 σε απάντηση της 33612

    Απ: Ενοχλητικό μήνυμα

    Σε ευχαριστώ για την απάντηση σου.. Όντως θα μπορούσε να γίνει το κλείδωμα των πεδίων, όμως έχω αυτή την στιγμή γύρω στους 30 χρήστες οι οποίοι κάνουν log on με Windows Authentication και δεν θέλω να έχω διαφορετικές εκδόσεις ανάλογα ...

    α) ...με το ποιός χρήστης έχει συνδεθεί στον SQL Server.

    ή

    β) ...με κώδικα να ελέγχω το ποιός χρήστης έχει συνδεθεί και να κλειδώνω-ξεκλειδώνω πεδία.

     


    Dionisis
  •  16-07-2007, 14:47 33615 σε απάντηση της 33614

    Απ: Ενοχλητικό μήνυμα

     

    Μπορώ φυσικά να χρησιμοποιήσω και τo ErrorNo έτσι ώστε να το αλλάζω στο επιθυμητό για μένα descreption. Δεν ξέρω αν έχω και άλλες επιλογές μη γνωστές σε μένα. Θα περιμένω για κάτι νεότερο...

     

        Error No      Error Description

    3155              ODBC - insert on a linked table <name> failed.

    3156              ODBC - delete on a linked table <name> failed.

    3157              ODBC - update on a linked table <name> failed.

     


    Dionisis
  •  16-07-2007, 15:47 33618 σε απάντηση της 33615

    Απ: Ενοχλητικό μήνυμα

    Νομίζω ότι η 2η επιλογή αποκλείει τις πολλές εκδόσεις της access.

    Και εξηγώ:

    Από ότι κατάλαβα έχει φτιάξει κάποιους ρόλους στη βάση και σε αυτούς τους ρόλους ¨ρίχνεις¨ τους χρήστες.

     

    Στην πρόσβαση σε ένα σύστημα υπάρχουν 2 επίπεδα.

    1ο Authentication (αν ο χρήστης μπορεί να συνδεθεί)

    2ο Authorization  (τι δικαιώματα έχει ο χρήστης)

     

    Αυτά που θα σου πρότεινα είναι :

    Σε έναν πίνακα της βάσης θα κρατούσα τα δικαιώματα που έχει ο κάθε χρήστης (φαντάζομαι ότι είναι σε επίπεδο φόρμας).

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

     

    Το On error που προτείνεις είναι μια λύση αλλά δεν παύει να είναι error.

    Δεν κάνεις πραγματικό έλεγχο των δικαιωμάτων του χρήστη αλλά αντιδράς σε ένα error που το ξέρεις.

     

    Τέλος θα σου πρότεινα να γυρίσεις την access σε .Net (Client-Server C# ή VB) .


    Φιλάρετος Σεβαστιάδης.

    Albert Camus: Life is the sum of your choices.

  •  18-07-2007, 08:02 33641 σε απάντηση της 33618

    Απ: Ενοχλητικό μήνυμα

    Τελικά Φιλάρετε έλυσα το πρόβλημα με τον τρόπο που μου υπέδειξες..

    Filaretos:
    Σε έναν πίνακα της βάσης θα κρατούσα τα δικαιώματα που έχει ο κάθε χρήστης (φαντάζομαι ότι είναι σε επίπεδο φόρμας).Θα έβλεπα ποιος χρήστης είναι συνδεμένος και θα του έδινα τα ανάλογα δικαιώματα στα πεδία της φόρμας.

     

    Θα σε παρακαλούσα να μου πεις κάποια περισσότερα πράγματα γύρω από την .ΝΕΤ. Έχει διαφορά η .ΝΕΤ από την VB.NET; Ποιό πρόγραμμα πρέπει να έχω εγκατεστημένο στον υπολογιστή μου ώστε να μπορώ να γράφω και να μεταφράζω τα προγράμματα μου σε .ΝΕΤ; Αστεία πράγματα ρωτάω...αφού δεν γνωρίζω όμως...

     

    Ευχαριστώ


    Dionisis
  •  18-07-2007, 12:05 33648 σε απάντηση της 33641

    Απ: Ενοχλητικό μήνυμα

    Να παρακαλέσω, αν είναι δυνατόν, η ερώτηση να γίνει (και να απαντηθεί) στην περιοχή "Πρώτα βήματα" μια και δεν αφορά SQL Server.

     


    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems