2010-05-12 12 views
11

Ponieważ finał Django 1.2 jest już prawie zakończony, jestem ciekawy, czy istnieją już projekty korzystające z nowego poziomu uprawnień na poziomie obiektu/poziomu uprawnień. Django-authority, które jest możliwym rozwiązaniem dla Django do wersji 1.1, nie było od jakiegoś czasu aktualizowane i nie (jeszcze) korzysta z nowego systemu uprawnień. Wydaje mi się, że Django-Authority jest w stanie śpiączki.Uprawnienia na poziomie obiektu Django 1.2 - rozwiązania stron trzecich?

Czy ktoś wie o nadchodzących, a może nawet gotowych rozwiązaniach? Byłbym wdzięczny za dobre linki do aktywnych projektów z przynajmniej niektórymi treściami do pobrania.

+0

Znaleziono jeszcze jedno fajne rozwiązanie: https://github.com/lukaszb/django-guardian - wydaje się również działać z Django 1.3! – mawimawi

Odpowiedz

7

Wreszcie znalazłem naprawdę dobre rzeczy: Florian Apolloner napisał howto na djangoadvent: http://djangoadvent.com/1.2/object-permissions/ Teraz to co będę użycie :)

Coś może być przydatny także: http://github.com/washingtontimes/django-objectpermissions (Link martwy jak z 2011-07-18)

+0

Przeczytałem post Floriana i choć ma on charakter informacyjny, wydaje się, że nie obsługuje on uprawnień grupowych. Na przykład, jeśli grupa ma uprawnienia do obiektu (czy jest to nawet obsługiwane w przykładzie Floriana?), Czy użytkownicy w tej grupie będą mieli uprawnienia do obiektu? – millerdev

+0

dla mojego projektu nie potrzebowałem uprawnień grupowych. w każdym przypadku będziesz musiał to zaimplementować samodzielnie. ale może jest tam już inna aplikacja django - nie sprawdzałem przez kilka miesięcy. – mawimawi

1

Próbowałem już kiedyś użyć strony o nazwie django-granular-permissions dla witryny, ale nie udało mi się uzyskać tego, czego potrzebowałem (być może to moja własna niezdolność do zrozumienia, co muszę zrobić, a nie aplikacja). Patrząc na zakładkę aktualizacji witryny Google code, wygląda na to, że nie wykonano na niej żadnej pracy od zeszłego roku w lecie/jesieni, więc może to być kolejna martwa kaczka.

+0

również, projekt prawdopodobnie się poruszył: http://github.com/ryates/django-granular-permissions-redux – hop

5

Wydałem aplikację Django o nazwie django-rules, która pozwala zarządzać uprawnieniami na obiekt w elastyczny, dynamiczny i skalowalny sposób. Może będziesz chciał to sprawdzić.

9

Użyłem https://github.com/lukaszb/django-guardian, gdy było jeszcze w wersji 0.2 dla projektu i było raczej kompletne i wolne od błędów.

Tak, musiałem napisać własną dekorację "check_permission", ponieważ nie zawierałem jej jeszcze - ale przynajmniej od wersji 1.0 jest.

Autor bardzo szybko odpowiedział na problem, który przeprowadziłem z poziomu 0,2 - ogólnie jestem z niego zadowolony, dlatego też stał się częścią mojego szablonu szkieletu projektu.

1

OSU Open Source Labs ma realizację uprawnień na poziomie obiekt here

1

Przede wszystkim, głównym źródłem informacji jest djangopackages.com's perms grid: „siatkę wszystkich pakietach uprawnienia dla użytkowników i grup w projekcie Django wykonawczych”. (Uwaga: niektóre paczki mają bardzo podobne nazwy, np. "S" lub "myślnik" to jedyna różnica)

Następnie, sprawdzając poszczególne funkcje paczki (biorąc pod uwagę tylko nieco zachowany podzbiór), są to główni kandydaci:

  • django-opiekun: „realizacja uprawnień za przedmiot jako backend autoryzacji, który jest wspierany od Django 1.2.” pypi, repo, docs.

  • django-permissions: "Ogólne uprawnienia na obiekt dla Django". "Uprawnienia django zapewniają uprawnienia dla poszczególnych obiektów dla Django na rolach". pypi, original repo, most updated fork, docs.

  • django-organ: „dostarcza ogólnych per-obiektowy uprawnienia Django auth aplikacji.” „Django aplikację dla per-obiektowe uprawnień, które zawiera kilka pomocników do tworzenia kontrole niestandardowe uprawnienia” pypi,. original repo, most updated fork, docs.

Są inni, że z jakiegoś powodu lub inne nie dokonać cięcia:

PS: Ta odpowiedź została napisana zgodnie z obecnym stanem pakietów open source, ponad 2 lata później zadano pytanie. Chociaż nie jest to zbyt szczegółowe, mam nadzieję, że ta praca pomoże tym, którzy są w tej samej sytuacji, w jakiej byłem.

Powiązane problemy