2012-08-30 12 views
22

Esto ha sido algo en lo que he tratado de trabajar durante mucho tiempo. Primero comenzó con Prestashop como una integración con otros scripts o piezas del rompecabezas que necesitaba hacer para un sitio web en general. Actualmente estoy usando Prestashop como mi tienda web, pero desde entonces he cambiado a Magento.Usando Magento como principal, y creando un inicio de sesión único para integrarlo con otro software de terceros

Cambié a Magento debido a su flexibilidad compleja y porque, en general, creo que es la mejor solución, el mejor respaldo y la mejor secuencia de comandos de eCommerce en general.

Dicho esto, los mismos problemas que estaba teniendo con Prestashop parecen ser los mismos. Continuaré teniendo cualquier aspecto que intente integrar cosas en perfecta armonía.

Tengo la configuración de Magento, como la parte principal del sitio web, y dentro de Magento en subcarpetas, tengo Wordpress instalado en una carpeta llamada "artículos" y también fui con FluxBB como mis foros de mensajes por su simplicidad en no tener una gran cantidad de funciones extra hinchadas que me podrían importar menos y que están en una subcarpeta llamada "foros".

A partir de este punto, sabemos que Magento, Wordpress y FluxBB tienen su propia manera de administrar usuarios; crear, administrar y rastrearlos.

Lo que quiero hacer es encontrar la mejor manera de unir estos tres o más elementos para que mi sitio web haga que la experiencia del cliente sea lo más fluida y funcional posible. Después de enviar un correo electrónico al siempre talentoso y útil Alan Storm, me dijo que la mejor solución que conocía era trabajar en la gestión de usuarios de terceros que todos apuntan y que gestiona la autenticación de los clientes. Creo que sus pensamientos pueden ser los mejores, pero quería poner esto aquí en StackOverFlow y también puedo publicarlo en Magento para obtener la amplia cultura de los desarrolladores de magento y los chicos inteligentes a los que les gustan los desafíos.

Tengo varias ideas, ninguna puede funcionar, algunas pueden funcionar medio culo, o una puede ser algo factible. Pero primero déjame decirte lo que he logrado hasta ahora. He realizado los pasos necesarios para integrar mi diseño general para el encabezado y el pie de página, por lo que, en esencia, Wordpress y FluxBB están incluidos y se encuentran dentro de la capa de diseño exterior de Magento. Entonces, dicho esto, también lo hice donde Magento revisará la sesión para ver si el usuario ha iniciado sesión en Magento o no diciendo "Hola invitado" o "Hola usuario". Aquí es donde he llegado a un punto crítico porque estoy fuera de mi alcance y me gustaría recibir ayuda, ya sea que creamos juntos por puro desafío o alguien dice que si les pago me ayudarán, de cualquier forma me gustaría. consumado. Si obtengo el código, y cuando lo descubro, si al pagar por la asistencia de un esfuerzo de grupo me gustaría que esté disponible libremente para que otros utilicen el concepto para sus propios proyectos.


cerebro Pedo # 1:

Ajuste las tablas de usuario tanto para Wordpress y FluxBB para ajustarse más a la estructura de Magento, como para la contraseña de inicio de sesión y la parte de nombre de usuario/correo electrónico. El resto de los campos pueden permanecer como están para recuentos de publicaciones, etc.

A partir de ahí, me gustaría averiguar qué clase en Magento hace la entrada real en la base de datos cuando se crea un cliente fuera de registro . Cuando encuentre ese código, me gustaría ampliar la posibilidad de copiar las credenciales de usuario en las otras dos tablas en la base de datos para Wordpress y FluxBB. Si es necesario, solo pueden ser un par de campos añadidos a Wordpress y FluxBB si eso parece una mejor idea y sí, me refiero a la contraseña cifrada real que crea Magento. También quiero que sea segura.

A partir de ahí, cuando sabemos que un cliente se registra con Magento, los datos se copian en las otras dos tablas, entonces al menos hemos avanzado, si este progreso realmente funcionará, aún no se ha determinado.

Deshabilitamos los enlaces de inicio de sesión/cierre de sesión y registro en cualquier forma que podamos de Wordpress y FluxBB porque ya no serán necesarios porque queremos que el usuario se registre, inicie sesión y cierre sesión a través de una ubicación que es Magento.

Luego viene la parte divertida en mis ojos, mantener la maldita sesión funcionando en todo el sitio web mientras ordenan productos, revisan artículos de WordPress y posiblemente dejan comentarios, envían a amigos, etc ... y publican temas, respuestas y etc. en la capacidad de FluxBB.

Para mí es aquí donde entra en juego la creación de los campos o la adición de datos del registro de clientes de Magento, puedo verificar si ya han iniciado sesión en Magento y desde allí podemos hacer que valide sí mismo. Esto puede ser una muerte excesiva o puede que sea solo así como debe hacerse. Pero para mí, si las credenciales están ubicadas en las tres bases de datos, entonces deberían poder validarse cambiando el código en Wordpress y FluxBB o agregando código. Y sí, soy consciente de que también tendremos que hacer algo con respecto a la edición de perfiles y la edición de contraseñas si un cliente desea cambiar su información.

Pero esa es mi primera idea al respecto, ya sea que sea la decisión correcta o no, me gustaría saber del vasto conocimiento de las personas aquí que tienen más experiencia y conocimiento que con Magento, PHP y todo lo demás.


cerebro Pedo # 2

Esta idea parece ilógica un tramo fuera del todo a mí debido a la complejidad de Magento y cómo es la configuración general.

Pero la idea es eliminar/editar Wordpress y FluxBB (y cualquier otro software de terceros) para ignorar su propio método de registro, inicio de sesión, cierre de sesión, editar y mirar a Magento por sus credenciales y establecer nuevos clientes . Esencialmente convirtiéndolos en un módulo de gran tamaño de Magento.

Solo sé que la forma en que se configura Magento es modulerizarse y su complejidad parece requerir mucha más codificación y solución de problemas para hacerlo.


cerebro Pedo # 3

volcar Wordpress y FluxBB y mirar hacia los módulos de la conexión del almacén de Magento que más o menos tiene toda la funcionalidad que necesito y puedo añadir a ellos lo que falta y no meterse con intentar integrar software de terceros.

Me encanta WordPress, creo que replicarlo con un módulo, al menos después de las horas que he pasado mirando todos los módulos disponibles que son relacionados con CMS/News es una decisión difícil. FluxBB Podría tomarlo o dejarlo, si alguien tuviera una solución ya viable para usar phpBB o vBulletin o SimpleMachines iría con ellos. Prefiero ser un software libre de código abierto, no porque sea un patín barato sino porque apoyo el código abierto tanto como puedo.


cerebro Pedo # 4

puede esto ser una galleta esto, pero sólo sería eficaz si permiten que las cookies, o de alguna manera podría ADDON a la sesión para permitir que las cosas pasen a través, pero conjuntos de Magento hasta diferentes sesiones o te permite también para que choquen entre sí, así que esto puede no ser en absoluto una idea o también una.


Yo sé que no estoy dando ejemplos de las cosas que he intentado, archivos que han mirado o cualquier cosa relacionada con eso y me disculpo, proporciono algunos enlaces relacionados, pero no se ha encontrado en concreto hasta el momento que coincide con lo que soy tratando de lograr. Y he intentado fusionar cosas con algunos resultados desastrosos y divertidos.

vínculo ejemplos ?: http://www.magentocommerce.com/wiki/doc/webservices-api/api/customer#customer.create http://www.magentogarden.com/blog/how-are-passwords-encrypted-in-magento.html http://www.nicksays.co.uk/magento_events_cheat_sheet/ http://www.magentocommerce.com/wiki/5_-_modules_and_development/customers_and_accounts/registration_fields How to access Magento customer's session from outside Magento?

Cualquier ayuda con esto sería bueno, estoy tratando de trabajar en varias partes de la página web a la vez y éste es problemático y yo diría que a todos les resultará difícil o les resultará difícil. Alguien como desafíos? :)

--------- EDIT:

Tengo Magento Wordpress y que funcionan a la perfección junto con el módulo de James Kemp se encuentra en la página web de CodeCanyon (Single Sign-On para Magento y Wordpress) y Voy a adaptarlo para que funcione en FluxBB o en cualquier otra cosa que haga.

Simplemente pasando la información ... Veo que esto fue editado, no sé qué fue editado y no me importa. Solo paso la información que encontré desde que publiqué esto.

+2

Esa es una novela de una pregunta: si alguna vez escribes una entrada en un blog acerca de tu progreso, ¡por favor envía un enlace aquí! – aendrew

+0

Bastante interesante para ver cómo trabajaste en esto. Sin embargo, estuvimos hablando de cómo hacerlo (solo entre wp y magento) hace un tiempo en el trabajo y realmente no encontramos una solución. Tendré que pasar esto. ¡Gracias! – levigideon

+1

http://en.wikipedia.org/wiki/Single_sign-on Esta es la razón por la cual se crearon OpenID y Facebook Connect para ayudar a resolver este mismo problema pero a una escala más amplia. – B00MER

Respuesta

1

Estoy administrando/personalizando un combo de foros magento + vainilla + una aplicación personalizada hecha en el framework Yii. Los usuarios son "compartidos" entre las aplicaciones. Ninguno de los dos enlaces es bueno. Como Alan ya le respondió, el SSO correcto será con una base de datos/administrador de usuario externo. Pero bueno, no todo el mundo puede recodificar tres aplicaciones solo para publicar 1 post en un foro de una semana y 1 artículo en un blog de un mes para trabajar con magento. Entonces nos quedamos con menos opciones. En primer lugar, si no desea (probablemente no) reescribir una buena parte del proyecto de código abierto ya escrito que se está actualizando y manteniendo y luego mantener sus cambios contra las actualizaciones periódicas (si los quiere), entonces tiene que duplicar los datos del usuario en tres bases de datos. A menos que el proyecto que usted adapte tenga alguna forma de administrar los datos de los usuarios como un complemento o un módulo externo. AFAIK, ambos de tu elección, no.

Entonces, ¿cómo implementarlo? Asumiendo que elija Magento como madre de todos, necesita exportar una API para la autenticación, que puede funcionar en el navegador utilizando cookies y javascript, pero esto es bastante complicado, o puede usar su cookie frontend para validar las sesiones que realizan el servidor. solicitudes API de servidor de aplicaciones para niños. Esta es una opción preferida en lo que respecta al SSO "clásico". Técnicamente, lo que debería suceder cuando los usuarios abren un foro o blog, las aplicaciones respectivas detectan la cookie de magento y verifican si la sesión es válida y quién es el usuario. Si se encuentra al usuario, sus datos se copian en las tablas de blog o foro. Luego, debe iniciar una sesión autenticada en la aplicación de blog o foro utilizando el registro de usuario recién creado.

Hasta ahora todo bien, pero aún hay algo de trabajo.necesita deshabilitar la administración de perfiles de usuario en las aplicaciones secundarias o modificarla para que la información contenida en Magento sea siempre la correcta y necesite inventar algo para sincronizar la representación de Magento del perfil de usuario con los hijos. Es mejor estar conectado a los eventos de Magento para que cada vez que un usuario cambie su perfil, los datos se actualicen en la aplicación para niños. Pero hay otro pero también. Es probable que desee mantener alguna aplicación de datos específica, un nombre para mostrar en el foro no es necesario el Nombre + Apellido del Magento y a algunos les gustaría mantenerlo en privado.

Lo anterior es solo lo que puedo recordar como datos interesantes sobre cómo hacerlo funcionar. Ciertamente, hay muchas otras cosas que he omitido, más o menos específicas. Pero con un poco de suerte mi comentario puede ayudar a tu cerebro a tirarse pedos.

Hemos intentado evaluar otras opciones, pero cualquier cosa sin datos duplicados parece ser demasiado costosa de implementar o mantener. Quizas mas tarde. Con presupuesto y tiempo.

Cuestiones relacionadas