Django: Usando o sistema de autenticação personalizado, por que o modelo de usuário ainda é necessário?

StackOverflow https://stackoverflow.com/questions/2292549

Pergunta

Estou desenvolvendo um SaaS e tendo mais dificuldade em envolver meu cérebro por que preciso usar o "usuário" para outra coisa que não seja eu. Não sei por que, mas me deixa repugnante pensar que eu, como desenvolvedor/administrador de todo o software, com acesso completo ao administrador do Django (como o olho de Sauron), tenho o mesmo tipo de objeto de usuário que uma "conta O "UserProfile" de "Holder's tem. Por favor, ajude -me a entender por que isso é necessário.

Exemplo:

class Account(models.Model): # represents copporate customer
    admin = models.ForeignKey(User)
    # other fields ...

class UserProfile(models.Model):
    user = models.ForeignKey(User)
    account = models.ForeignKey(Account)

Parece que estou misturando a funcionalidade de administrador incorporada com a funcionalidade dos usuários dos titulares da minha conta. Isso é apenas para fins de reutilização de elementos como solicitação.User, etc.?

Foi útil?

Solução

Bem, a reutilização de código e funcionalidade pode ser um efeito colateral feliz, mas fundamentalmente não acho que isso esteja quebrado.

Um usuário representa alguém usando seu site. No nível base, não importa quem é essa pessoa ou quais recursos ou funcionalidade de que precisam - apenas que eles fazem solicitações e podem ser identificados de alguma forma.

Funcionalidade adicional pode ser adicionada em diferentes camadas, através de componentes integrados, como grupos ou permissões, ou através de outra coisa que você constrói no topo, como está fazendo no seu exemplo.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top