2011-08-18 16 views
5

Parece que el modelo de seguridad se adapta a proyectos muy pequeños, pero que probablemente no sea factible escribir todas las contraseñas hash de posibles usuarios registrados en security.py. ¿Conoce algún ejemplo de ampliación de la autenticación de Pyramid, o hay algún beneficio al llamar a través del esquema de seguridad de Pyramid a mi propia base de datos de información de seguridad?¿Puede la autenticación/autorización incorporada de Pyramid implementar esquemas de seguridad complejos?

+0

¿quién defiende el almacenamiento de contraseñas en security.py? –

+0

https://docs.pylonsproject.org/projects/pyramid/1.1/tutorials/wiki2/authorization.html tiene una demostración muy simple con un {key, raw_password} dict en security.py – nnythm

+0

Ah bien, veo tu punto. Pero no es demasiado exagerado para alguien familiarizado con Python imaginar al buscador de grupos buscando una base de datos o algo más. –

Respuesta

4

No tiene idea de cuáles son sus necesidades o qué quiere decir con "aumentar la seguridad", pero la política de autenticación de pirámides es muy flexible. Sin embargo, debe comprender que no mantiene usuarios y contraseñas sino que simplemente proporciona un mecanismo para obtener un identificador de usuario a partir de la solicitud entrante. Por ejemplo, el AuthTktAuthenticationPolicy realiza un seguimiento de la identificación de usuario por cookie que ha establecido utilizando el método remember.

Lo que la información significativa que deriva de esa identificación de usuario es totalmente suya y es específica de la aplicación.

Así que realmente la pregunta que puede querer hacer es si su aplicación puede "aumentar la seguridad".

No puedo mostrarle el código porque es propiedad pero necesito admitir openid, http auth y la tienda de usuario respaldada por db típica en la misma aplicación, con la complicación adicional añadida de que los usuarios están almacenados en diferentes fragmentos de base de datos y el fragmento no puede ser determinado inmediatamente. Se necesita muy poco código para apoyar esto.

8

No creo que el tamaño del proyecto esté relacionado con el modelo de seguridad. O desea un modelo de seguridad simple o complejo. Ambos se pueden aplicar a proyectos de cualquier tamaño. Uno de los puntos fuertes de Pyramid es su extensibilidad.

¿Por qué almacenar contraseñas hash en security.py? (Cmiiw aquí, probablemente lo malinterprete) Si lees esto en el código de alguien, probablemente sea solo un ejemplo. En aplicaciones reales, las guarda en un sistema de almacenamiento/persistencia de su elección.

Una vez más, no entiendo lo que quiere decir con "escalar la autenticación". Mi conjetura es que desea algunos ejemplos de trabajo:

3

Terminé construyendo algo para mí que hace la autenticación un poco más fácil si estás usando MongoDB.

https://github.com/mosesn/mongauth

No está integrado en la pirámide, pero en ganchos con bastante facilidad. Todo es bastante transparente.

+0

¡Guau! Un buen guion lo conseguiste ... Simple, pero funcional. – Augiwan

Cuestiones relacionadas