🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: pl.comp.lang.python
2 messages
2 total messages Started by Dzinek Thu, 20 May 2010 10:53
Uwierzytelnianie z mojego modelu.
#27474
Author: Dzinek
Date: Thu, 20 May 2010 10:53
31 lines
2323 bytes
Witam,

Na początku sorry za temat, ale nie miałem pomysłu jak to krótko
opisać :)

Do rzeczy. Wgryzam się w działanie uwierzytelniania z
django.contrib.auth, jest fajny, korzystam z niego przy dostępnie do
konsolki administracyjnej która później przekształci się w BackOffice
aplikacji.

Zależy mi jednak na oddzielnym uwierzytelnianiu do FrontOffice'u,
korzystającym z mojego modelu - fizycznie i logicznie oddzielonego od
klasy User z auth.
Może przykład:
- logowanie do obecnej konsolki, a w przyszłości BO korzysta z danych
w django_auth i pokrewnych (jeżeli dobrze pamiętam nazwę tabelki) -
user, grupy, uprawnenia, itp
- logowanie do FrontOffice'u ma swój własny model - Customer, własne
typy klientów, itp
- chciałbym też nie korzystać z jednego uwierzytelniania z dwóch
źródel (o ile to jest oczywiście możliwe), chciałbym rozdzielić konta
na systemowe i klientów - konto systemowe nie może być użyte do
logowania do FO.

Z góry dzięki za pomysły, link, itp.
Oczywiście przeczytałem dokumentację dotyczącą autoryzacji i
podstawowej i "zewnętrznej", ale nie przychodzi mi nic do głowy, w
jaki sposób mogę użyć tego w moim przypadku.

pozdrawiam
Tomek
Re: Uwierzytelnianie z mojego modelu.
#27475
Author: Dzinek
Date: Wed, 26 May 2010 09:55
18 lines
2042 bytes
Doszedłem do wniosku, że w wyżej opisanym przypadku mogę napisać
własny "authentication backend".

Nie łapię tylko do końca jednej rzeczy. Rozumiem, że z metod get_user
i authenticate powinienem zwracać Djangowy obiekt User. Czyli albo mój
obiekt Customer powinień dziedziczyć po User, albo musiałbym zrobić
takie niby-DTO - mapować mojego Customera na Djangowego Usera (na
razie pomijam w jaki sposób). Pierwszy sposób ma tą wadę, że
dziedzicząc po User, część danych będze trzymana w tabelce
django_user, tymczasem moim założeniem jest odseparowanie w DB kont
backoffice'owych (trzymanych w django_user) od kont biznesowo-
frontoffice'owych (trzymanych w customer). Z kolei w drugim przypadku
myślę, że mapowanie z Customer na User będzie raczej mało optymalne.

Poprawcie mnie, jeżeli coś źle rozumiem.

pozdrawiam
Tomek
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads