Estoy completamente atascado en dónde empezar con la obtención de un área de inicio de sesión para un sitio de Clojure que estoy construyendo (por diversión).Intentar crear un usuario de inicio de sesión para Clojure/Korma/PostgreSQL sitio
He mirado en varios recursos, que voy a publicar a continuación, sin piedad copiar/pegar el código, y lo más cerca que puede obtener es una de dos situaciones:
La página de inicio de sesión tarda el inicio de sesión, pero dice que el inicio de sesión falló, sin embargo, por lo que puedo decir, el inicio de sesión coincide.
O me sale este error: Ningún método en multimethod '-> SQL' para el valor de despacho: null
No estoy seguro de cómo interpretar el error anterior: es este especificando que necesito un multi -method o está especificando que necesito verificar null? El requisito nulo no tiene ningún sentido. Realmente no estoy preguntando, pero si alguien quiere dar una explicación, eso es genial.
Probé la salida comparando las consultas de resultados a selección de datos sin cifrado sin procesar, he pasado por 5 variaciones sobre este tema, usando de todo, desde llamadas de página a página, hasta la creación de nuevos defpartiales, múltiples -Métodos, defn, etc.
las fuentes que he utilizado (por desgracia, no puedo enumerar todos ellos de un cartel por primera vez):
Ésta utiliza Clojure -> Korma -> PostgreSQL, pero el código no parece funcionar para múltiples usuarios?
http://www.vijaykiran.com/2012/01/17/web-application-development-with-clojure-part-2/
Ésta muestra cómo utilizar Noir y PostgreSQL (Sí, estoy usando Noir): https://yogthos.net:11794/blog/23-Noir+tutorial+-+part+2
El sitio de 4Clojure, pero que uno utiliza CongoMongo:
El clon Heroku Twitter, pero no se menciona cómo crear inicios de sesión para una persona, mucho menos varias.
También compré Programación Clojure de O'Reilly Press, pero una vez más, nada acerca de cómo crear un área de inicio de sesión.
PRIMERA EDICION: Me pidieron que creara un repositorio github de un sitio independiente. Esto incluye un área de "Creación de cuenta" que se encuentra en el archivo welcome.clj y solo un formulario del área de inicio de sesión en login.clj.
Estaba tratando de obtener algunos de los mismos errores de trabajo que tuve anoche y también tratando de hacer que esto funcione antes de cargar los archivos. Todavía no tengo ningún punto de partida razonable, por lo que aún no hay una implementación inicial. Estoy muy avergonzado con las soluciones que he estado generando, por lo tanto, no quiero publicarlas. Obtuve conceptualmente lo que debería hacer, pero por alguna razón, parece que no puedo traducir esto. Esta es mi primera cuenta github: mi experiencia es Python, Scheme a'la SICP, y algún programa de marketing Python + PostgreSQL que construí.
SEGUNDA EDICION: Ack! Parece que no puedo hacer que la cosa funcione ... Sí, pasé más de 20 minutos (horas) en esta, así que tengo que admitir que todavía no tengo los conocimientos necesarios para lograrlo. esto, no importa cuántas fuentes busque. Cometí los archivos actualizados y todas las cosas raras que probé, incluidas todas las variaciones en el cuadro de inicio de sesión para ejecutar SQL sin procesar. Lo más cerca que puedo llegar es conseguirlo para no tener ningún error, pero no hay evidencia de que alguien haya iniciado sesión. Muchas gracias por la ayuda y las sugerencias.Seguramente volveré a esto más tarde.
https://github.com/dt1/noirKormaLogin
No sería posible sin mirar a su código. Probablemente puedas poner el código en github y dar un enlace aquí. – Ankur
¿Realmente necesita implementar el inicio de sesión usted mismo? Considere usar la autenticación JSSE en el contenedor (suponiendo que se esté ejecutando dentro de un contenedor) o utilizando SASL. Deje que otra persona maneje la contraseña haciendo malabares para usted y solo acepte las credenciales autenticadas del contenedor. –
Además, si está almacenando contraseñas, asegúrese de que sean hashes adecuadamente salados. Nunca almacene contraseñas de texto sin cifrar, y si es posible, no almacene contraseñas encriptadas, solo hashes en sal que puede usar para verificar que el usuario conoce la contraseña correcta. –