System autentykacji użytkowników Django
Django jako kompletny framework rozwiązuje wiele problemów typowych dla aplikacji webowych, być może jednym z popularniejszych problemów jest potrzeba rejestracji użytkowników naszej aplikacji.
Moduł autentykacji Django
Tutaj omówimy podstawowe informacje na temat wykorzystania modułu django.contrib.auth
. Więcej informacji jak zwykle można znaleźć w dokumentacji Django, np. w tym poradniku.
Wróćmy do naszej aplikacji do tworzenia ankiet i głosowania w tychże. Obecnie każdy korzystający z serwisu może tworzyć ankiety i w nich głosować. Teoretycznie pojedynczy użytkownik może oddać tylko raz głos w ankiecie, ale wystarczy, źe usunie w swojej przeglądarce cookie z identyfikatorem sesji, aby móc obejść to zabezpieczenie. Gdyby uzytkownicy nie byli anonimowi możnaby powiązać ich głosy z ich kontami, co w znacznej mierze utrudnia wielokrotne oddawanie głosów w tej samej ankiecie. Oczywiście pomijamy możliwość zakładania wielu kont, ale to kolejny problem do rozwiązania w przyszłości.
Aby zarejestrować użytkownika naszej aplikacji większość potrzebnych elementów zostało już dodane podczas tworzenia bazy aplikacji komendą django-admin startproject
. Teraz dołóżmy kolejne brakujące cegiełki.