permissions

2 views
Skip to first unread message

Nikos Roussos

unread,
Oct 26, 2010, 9:56:51 AM10/26/10
to django-gr
Καλησπέρα,

Ψάχνω να βρω έναν τρόπο για ορισμό permissions ανά πεδίο. Κοιτάζω το
django-authority http://packages.python.org/django-authority/ αλλά αν
καταλαβαίνω σωστά υποστηρίζει permissions per object μόνο.

Όταν λέω ανά πεδίο εννοώ πως πχ. θέλω σε ένα μοντέλο να ορίσω πως ο
τάδε χρήστης θα μπορεί να βλέπει και να κάνει edit το πεδίο first_name
ενώ όλοι οι άλλοι δεν θα μπορούν, κοκ

Γνωρίζετε κάποιο τρόπο για να το επιτύχω αυτό;


--
Nikos Roussos
http://autoverse.net/
http://gr.linkedin.com/in/comzeradd

gspanos

unread,
Oct 26, 2010, 4:05:30 PM10/26/10
to djan...@googlegroups.com
Μιας και δεν βλέπω κίνηση στην mailing list....

λοιπόν εγώ μόνο το django-rbac γνώριζα αλλά δεν μου άρεσε και πολύ να σου πω την αλήθεια.
Ασε που μάλλον είναι και παρατημένο. Πάντως και εκείνο row-level security επιτυγχάνει και όχι
αυτό που θες. Δεν ξέρω καν ποιες βάσεις υποστηρίζουν column-level security. 

Δεν νομίζω π.χ. η postgresql να το προσφέρει. 
Στη θέση σου ίσως να έφτιαχνα κάτι με ContentTypes πάνω στο User model, βασίκα έτσι δουλεύει
και το default django permission system.

Ισως και να παραληρώ από την νύστα μου όμως και να μην βγάζουν νόημα αυτά που λέω. Δες και
πες μου.

2010/10/26 Nikos Roussos <ni...@autoverse.net>

--
Λάβατε αυτό το μήνυμα επειδή έχετε εγγραφεί στην ομάδα django-gr των Ομάδων Google.

Για να αναρτήσετε κάτι σε αυτήν την ομάδα, αποστείλετε μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση djan...@googlegroups.com.
Για να καταργήσετε την εγγραφή σας από αυτήν την ομάδα, στείλτε ένα μήνυμα ηλεκτρονικού ταχυδρομείου στη διεύθυνση django-gr+...@googlegroups.com.
Για περισσότερες επιλογές, επισκεφθείτε αυτήν την ομάδα στη διεύθυνση http://groups.google.com/group/django-gr?hl=el.


Antonis Christofides

unread,
Oct 27, 2010, 4:33:07 AM10/27/10
to djan...@googlegroups.com

οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ override οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½ save οΏ½οΏ½οΏ½ οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½οΏ½
οΏ½οΏ½οΏ½.

http://docs.djangoproject.com/en/1.2/topics/db/models/#overriding-predefined-model-methods

Nikos Roussos

unread,
Oct 27, 2010, 5:08:57 AM10/27/10
to django-gr
2010/10/27 Antonis Christofides <ant...@itia.ntua.gr>:
>
> Μια λύση είναι επίσης να κάνεις override τη μέθοδο save του μοντέλου
> σου.
>
> http://docs.djangoproject.com/en/1.2/topics/db/models/#overriding-predefined-model-methods

Αυτό κοίταζα. Μια άλλη λύση που βρήκα είναι να παίξω με το exclude στο admin.py.

Παράδειγμα:

def queryset(self, request):
if request.user.is_superuser:
return Post.objects.all()
exclude = ['title']
return Post.objects.filter(author=request.user)

Οπότε έτσι ο απλός χρήστης βλέπει μόνο τα δικά του posts και δεν
μπορεί να αλλάξει τον τίτλο

Reply all
Reply to author
Forward
0 new messages