
Κάνω ότι καλύτερο μπορώ για το σχεδιασμό web app μου με καλό διαχωρισμό μεταξύ των στρωμάτων. Είμαι χρησιμοποιώντας το αποθετήριο πρότυπο και ως εκ τούτου έχουν SQLObjectRepository που καλείται από ObjectService μου, η οποία ονομάζεται από Web μου εμπρόσθιο άκρο.


Στο μοντέλο αντικειμένου μου, ο χρήστης συνδέεται με μία ή περισσότερες περιοχές που θα πρέπει να φιλτράρετε τα αντικείμενα που πρέπει να έχουν πρόσβαση. Η ερώτησή μου είναι, όταν είμαι την αναζήτηση για τα αντικείμενα, μπορώ να τοποθετήσω τον κώδικα στην υπηρεσία για να ρυθμίσετε τα δικαιώματα για τα αντικείμενα, ή μήπως κώδικα να είναι στο αποθετήριο; Εάν ο χρήστης είναι μέλος της 2 περιοχές, θα πρέπει να περάσει το χρήστη ως παράμετρο στην υπηρεσία, ή θα πρέπει να περάσει περιοχές του χρήστη στην υπηρεσία;

 
Αποθετήριο μοτίβο και layering. Πού μπορώ να κάνω αίτηση της ασφάλειας;
=======================================================================



Θα:


* Γράψτε τον έλεγχο ασφάλειας με τέτοιο τρόπο που να μπορεί να εφαρμοστεί σε οποιοδήποτε μέρος θέλετε. Με αυτό τον τρόπο μπορείτε να refactor οι απαιτήσεις αλλάζουν.
* Εάν ο έλεγχος ασφαλείας στην πραγματικότητα θα *είναι πάντα* ισχύει, τοποθετήστε το στο αποθετήριο στρώμα (ή καλύτερα, σε μια πτυχή αν η γλώσσα σας υποστηρίζει), έτσι ώστε πολλαπλές υπηρεσίες θα έχουν όλοι την κοινή ασφάλεια, εάν χρησιμοποιούν τον ίδιο χώρο αποθήκευσης. Διαφορετικά τοποθετήστε το στην υπηρεσία (ή μια πτυχή που ενεργεί για την υπηρεσία).
* να περάσει ολόκληρο το αντικείμενο χρήστη με το μηχανισμό ελέγχου ασφαλείας:


	+ εάν ο έλεγχος ασφαλείας αργότερα γίνεται πιο σύνθετη (εξαρτάται από τις άλλες ιδιότητες του χρήστη) το API δεν θα αλλάξει?
	+ καθιστά πιο σημασιολογικό νόημα - είστε έλεγχο ο χρήστης έχει την άδεια να κάνει κάτι, δεν είναι ότι η λίστα με τις χώρες κάνει.

 