Estoy equivocado en su deseo de rodar mi propio sistema de Autenticación / Autorizar dado los siguientes requisitos?

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

Pregunta

En mi proyecto favorito Quiero tener un sistema de usuario con los siguientes requisitos:

  • Se necesita trabajar con Db4o como un modelo de persistencia
  • Quiero usar DI (mediante Turbina ) para entregar las dependencias necesarias al modelo de usuario
  • Es necesario que sea fácil de conectar a asp.net-mvc
  • Es necesario que sea comprobable sin mucha molestia
  • Es necesario apoyar a los usuarios anónimos al igual que lo hace
  • Quiero autenticación y autorización separados (el primero puede vivir sin el segundo)
  • Es necesario que sea segura

Soy consciente de que estoy poniendo unas tecnologías antes funcionalidades aquí, pero ya que es un proyecto personal y yo quiero aprender algunas cosas nuevas, creo que es razonable incluirlos como los requisitos.

A mitad de camino en el despliegue de la mía me di cuenta de que estoy sufriendo probablemente algunos NIH .
Como realmente no me gusta la forma innecesariamente compleja del marco usuario existente en asp.net es, en realidad es en su mayoría sólo complica aún más las cosas en relación con la seguridad que ahora está dándome algunas dudas. ¿Sería defendible a seguir y rodar mi propia? Si no cómo usted va sobre el cumplimiento de todos los requisitos anteriores con el marco basado IPrinciple existente?

¿Fue útil?

Solución

Me suena como lo que usted quiere hacer es rodar su propio proveedor de suscripciones personalizado .NET.

Se le permitirá utilizar el incorporado en ASP.NET Autenticación / Autorización atributo s en sus acciones del controlador mientras que le da un control completo sobre la aplicación en el interior del proveedor (que le permitirá codificar para satisfacer los requisitos indicados anteriormente).

Dirigir desde MSDN ...

La implementación de un proveedor de miembro

Otros consejos

Creo que reconoces donde las partes delgadas en su consideración son: a saber, en que usted ha incluido cómo hacer lo que está haciendo que el motivo de por qué lo está haciendo y los NIH (curioso: nunca había visto esa cuestión antes).

La aplicación de estos a un lado, su proveedor es algo que usted podría volver a usar y se puede simplificar algunos de sus futuros esfuerzos. También debe servir para familiarizar a usted aún más con el tema. Siempre y cuando usted entienda el marco ASP.NET para que pueda trabajar con él también si es necesario (y no está tan especializada que usted no sabe lo que está haciendo si usted no está utilizando su herramienta) entonces cree que ya ha fabricado su defensa.

Como se ha mencionado DOK, tenga cuidado de que no está rodando su propio aquí para evitar una tarea más grande en la mano en lo que su funcionalidad es otra. No deje que esto sea una distracción: debe ser algo que su aplicación realmente necesita. Si no es así, entonces me inclino por centrarse en la misión principal de su software en su lugar.

Si sigue adelante y crear su propia solución personalizada, usted tendrá una mejor idea de lo difícil que es y qué características que desea. Esto le ayudará a evaluar soluciones off-the-shelf para futuros proyectos.

otoh, pasando el tiempo el desarrollo de una funcionalidad que ya están a disposición significa que no van a pasar el tiempo de trabajo en la funcionalidad principal de su proyecto. A menos que la autenticación y autorización son un componente importante de su proyecto, usted podría considerar la posibilidad de invertir su tiempo, y la ampliación de sus conocimientos, en otra área.

Yo también estoy trabajando en un proyecto de compañía utilizando ASP.net MVC y db4o e hice lo mismo, por lo que es, al menos, no solo en ir por ese camino :). Una de las mayores razones para mí para empezar a jugar con db4o como capa de persistencia es que, sobre todo la autorización en el nivel de campo (es decir, que se me permite ver el primer nombre de la persona A, pero no el primer nombre de la persona B) es sin embargo de lograr si estás forzado en sentencias SQL complejas y un modelo de dominio anémico.

Ya que tenía necesidades de autorización complejos que deben ser persistió (y sincronizado) tanto en db4o y los índices Solr empecé a trabajar en el despliegue de la mía, pero sólo porque sabía desde el principio que era una de las características clave de mi mascota proyecto que quería el control del 100% respecto.

Ahora todavía podría utilizar el proveedor de pertenencia .Net para la autenticación, pero no (sólo) para la autorización de los objetos, pero sólo después de que POC'd mi autorización necesita usar mi propia.

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