2012-04-27 13 views

Respuesta

8

ACTUALIZACIÓN 4: Y Meteor ahora tiene soporte completo para las cuentas, usuarios, etc.

ver http://docs.meteor.com/#accounts_api

Actualización 3: Desde v0.5.0, Meteor admite la autenticación y permitir/denegar reglas en colecciones. Ver http://docs.meteor.com/#allow para obtener información. Gracias, @Dan Dascalescu!

Actualización 2: Como Greg señala, en realidad se puede bloquear la ABM métodos anulando con funciones vacías (más información aquí: https://stackoverflow.com/a/10116342/1180471). Así que, aunque asumo que la funcionalidad de autenticación simplificará las cosas, ya puede rodar su propio con un esfuerzo relativamente bajo.

Respuesta original en las explotaciones históricas: yo sepa meteoro no proporciona una manera de hacer esto sin embargo, ya que no hay manera de bloquear (parte de) la base de datos, por lo que por el momento la única manera de hacerlo de una manera segura de pasar por alto es de meteoritos y, o bien: - bajar a nodo y utilizar una base de datos separada o API de autenticación - el uso de autenticación HTTP me imagino que esto es bastante alto en su lista de tareas, aunque ...

Actualización 1: Ya comenzaron a implementarse, puede ver el código en la rama livedata-auth: https://github.com/meteor/meteor/compare/master...livedata-auth

+2

Esta respuesta es falsa, puede bloquear la base de datos en el meteorito actual. http: // stackoverflow.com/questions/10115042/how-do-you-secure-the-client-side-mongodb-api/ – greggreg

+0

De hecho, mi información era incorrecta ... Buena prueba para ver si puedo eliminar mi respuesta de SO. Disculpas a Dan; Probablemente no debería responder a las preguntas de Meteor basadas en la documentación que conozco. – Dirk

+0

no se puede eliminar, se actualizó en su lugar – Dirk

1

En realidad, no es demasiado difícil hacer alguna auth simple en meteoro. El sistema de blogs britto lo tiene configurado. Básicamente, restrinja la base de datos del cliente y luego use una clave api para realizar solicitudes a los métodos del lado del servidor.

restringir el acceso db cliente:How do you secure the client side MongoDB API?

código del servidor Britto: https://github.com/jonathanKingston/britto/blob/master/server/server-britto.js

en la fuente Britto, echar un vistazo a los métodos create user y login user

+0

También necesita restringir la base de datos de las inserciones del lado del cliente también: https://github.com/jonathanKingston/britto/blob/master/server/startup.js Vea la línea dos de eso o el comentario de N1mmy en el primer enlace de arriba . Más allá de eso, como dijo Greg, es bastante fácil simplemente asegurarse de no difuminar la línea entre el cliente y el servidor o confiar en cualquier información devuelta por el navegador. Saludos por el crédito Greg :). – jonathanKingston

+0

Puedes leer más sobre la seguridad de Britto aquí: http://britto.co/blog/security_with_meteor – dbau

+0

Estos hacks son afortunadamente [ya no son necesarios] (http://stackoverflow.com/a/13224370/1269037) –

1

se puede encontrar un trabajo ejemplo de un sistema de inicio de sesión de usuario que he creado para Meteor en https://github.com/matb33/meteor-userauth.

Necesitarás Meteor> 0.3.5, por lo que deberás ejecutar la rama de desarrollo del meteoro.

7

Mientras tanto, Meteor ha implementado un full authentication and user management system, completo con una interfaz de usuario para iniciar sesión fácilmente con los populares servicios OAuth (Google, Facebook, GitHub, Twitter, Weibo).

Cuestiones relacionadas