Thread View: pl.comp.lang.python
2 messages
2 total messages
Started by Dzinek
Thu, 20 May 2010 10:53
Uwierzytelnianie z mojego modelu.
Author: Dzinek
Date: Thu, 20 May 2010 10:53
Date: Thu, 20 May 2010 10:53
31 lines
2323 bytes
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.
Author: Dzinek
Date: Wed, 26 May 2010 09:55
Date: Wed, 26 May 2010 09:55
18 lines
2042 bytes
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