Pregunta

Se prevé una aplicación web escrito en Python, Django es una de los principales candidatos como marco.

Uno de los requisitos es el acceso CAC, wihout la necesidad de mano de ingresar nombre de usuario y contraseña. De lo que puedo decir, el acceso CAC no es parte de las "pilas" incluidos con Django.

Como marco monolítico (no necesariamente un atributo malo) Django tiene un representante por ser de alto mantenimiento una vez que modifique el núcleo. ¿Puedo añadir fácilmente el acceso a un sitio CAC Django? ¿Puede mantenerse fácilmente a partir de entonces?

O tal vez debería considerar un marco de Python diferente?

Para su información .. interesante presentación sobre el acceso CAC enlace

¿Fue útil?

Solución

No es necesario modificar el núcleo para permitir esto. Django soporta backends de autenticación de terceros y son bastante fáciles de escribir - sólo tiene que soportar dos métodos, get_user y authenticate. Por lo que su aplicación sólo tiene que realizar estas operaciones usando la interfaz de CAC, y todo funcionará como de costumbre.

la documentación para más detalles.

editar después de otras respuestas No sé por qué la gente está diciendo que esto es difícil en Django. Sí, muchas partes de Django son difíciles de personalizar. Pero esta es una parte específica que se hace muy fácil. He escrito varios backends de autenticación de Django y que no sólo son realmente simples, pero el "trabajo justo" con el resto de la estructura, incluyendo el administrador. No hay ninguna necesidad de modificar nada más para conseguir que esto funcione.

Otros consejos

Me acabo de hacer esto hoy subclasificando django.contrib.auth.middleware.RemoteUserMiddleware y ha cambiado la propiedad de la cabecera a la que me había fijado en mi configuración del Apache. Acabo de añadir el django.contrib.auth.backends.RemoteUserBackend y mi middleware para la configuración y funciona perfectamente.

La extensión contrib.auth es un dolor en el cuello. Es la única cosa peor en Django. Si necesita altamente Administración personalizada de autenticación, se recomienda usar un marco diferente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top