Domanda

Una web app scritto in Python è prevista, Django è un concorrente di primo piano come quadro.

Un requisito è l'accesso CAC, wihout la necessità di mano username e password entrare. Da quello che posso dire, l'accesso CAC non è parte delle "batterie" in dotazione con Django.

Come quadro monolitico (non necessariamente un cattivo attributo) Django ha un rappresentante per essere di alta manutenzione una volta che si modifica il nucleo. Posso aggiungere facilmente l'accesso a un sito CAC Django? Può essere facilmente mantenuta da allora in poi?

O forse si dovrebbe prendere in considerazione un quadro Python diverso?

FYI .. interessante presentazione sul accesso CAC link

È stato utile?

Soluzione

Non è necessario modificare il nucleo per attivare questa. Django supporta backend di autenticazione di terze parti e sono abbastanza facili da scrivere - è sufficiente per sostenere due metodi, get_user e authenticate. Quindi, l'implementazione ha solo bisogno di eseguire queste operazioni utilizzando l'interfaccia CAC, e tutto funzionerà come al solito.

la documentazione per i dettagli.

A cura dopo altre risposte non so il motivo per cui la gente sta dicendo questo è difficile in Django. Sì, molte parti di Django sono difficili da personalizzare. Ma questa è una parte particolare che è fatto molto facile. Ho scritto diversi backend di autenticazione in Django e non sono solo molto semplice, ma "solo lavoro" con il resto del quadro, tra cui l'amministratore. Non c'è alcuna necessità di modificare qualsiasi altra cosa per ottenere questo al lavoro.

Altri suggerimenti

Ho appena fatto questo oggi da sottoclassi django.contrib.auth.middleware.RemoteUserMiddleware e cambiato la proprietà di intestazione a quello che avevo impostato nel mio apache conf. Ho appena aggiunto il django.contrib.auth.backends.RemoteUserBackend e il mio middleware per le impostazioni e funziona perfettamente.

L'estensione contrib.auth è un dolore al collo. E 'la cosa peggiore singolo in Django. Se avete bisogno di altamente personalizzati autenticazione back-end, vi suggerirei di usare un quadro diverso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top