elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Recuerda que debes registrarte en el foro para poder participar (preguntar y responder)


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web
| | |-+  Bases de Datos (Moderador: Carloswaldo)
| | | |-+  Trigger + usuario por cookies??
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Trigger + usuario por cookies??  (Leído 6,962 veces)
Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Trigger + usuario por cookies??
« en: 11 Febrero 2010, 19:45 pm »

Soy nuevo en eso de los triggers, y me encuentro con un ejemplo que poner "CURRENT_USER()" para saber que usuario es el que modifico en la tabla, pero este me captura el usuario [obvio] del mysql, lo que quiero saber es:

Hay alguna forma de reuperar el nombre del usuario que esta conectado, sabiendo que éste lo estoy almacenando en una cookie?

De antemano gracias ñ_ñ


En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Trigger + usuario por cookies??
« Respuesta #1 en: 11 Febrero 2010, 22:23 pm »

No puedes usar una funcion de MySQL para esto, recuerda que dicho usuario se esta identificando en una pagina con registros guardados dentro de una tabla de MySQL. Tendrias por lo tanto que utilizar el valor guardado en la session de PHP y justo cuando ese usuario haga alguna actualizacion o algo que modifique una tabla, seria despues del UPDATE enviar otra SQL que diga algo como 'select usuario from tabla where usuario = session_id'...

No me catalogues de metiche  :-X  pero podria comprender un poco mas tu peticion, si me colocaras aunque fuesen tablas no reales de ejemplo de mas o menos como tienes estructurado estos dos puntos (la tabla usuario, la tabla que se modifica y tu trigger) para mas o menos asi ir aclarandome un poco las ideas y poder ampliar en ayudarte.


En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: Trigger + usuario por cookies??
« Respuesta #2 en: 11 Febrero 2010, 23:17 pm »

ps aun no he hecho el trigger, lo queria hacer ya cuando tuviera todo bien ordenadito, te comento...

Te comento, es un sistema en PHP donde unos usuarios tienen acceso a generar formatos, éstos en un principio solo tienen un folio y les genera un PDF, luego van a "campo" a llenar estos formatos

a otro grupo de usuarios les toca llenar esos campos que se quedaron vacios y corregir algunos [el municipio que en un principio le aplican en municipio donde se expidio el documento y cambia al municipio donde se ejecuto]

ya que esta registrado hay "productos" decomisados, y a este apartado tiene acceso otro grupo de usuarios que llenan otra tabla con los datos del producto decomisado


El sistema tiene una base de datos de usuario, contraseña y permisos a los modulos que tienen acceso


ok, hasta aqui todo bien :D

luego, para editar los campos de los registros lo hice usando AJAX

llega el usuario y solo cambia los datos del campo[ por ejemplo] el [municipio/lugar de ejecucion] que cambia de "Acolman" a "Valle de bravo" [por decir algo xD] en un select, ese select tiene un "onChange" y éste a su vez manda a llamar una funcion de AJAX que va la base de datos y cambia el ID del municipio [que son los datos que se mandan]

lo que quiero hacer es guardar esos cambios que se hacen capturando al usuario que hizo el cambio, pero ese usuario se guarda el nombre en una cookie... y ahí el dilema, que como dices, no hay una funcion de MySQL que capture ese valor :¬¬

al final va a ser que en la tabla [en las tablas] ponga un campo "usuario" y que al hacer un "update" me guarde ese valor en ese campo y solo asi podria yo guardar ese valor con el trigger, cierto?
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Trigger + usuario por cookies??
« Respuesta #3 en: 11 Febrero 2010, 23:59 pm »

Ten algo pendiente, MySQL no puede validar que usuario dentro de tu proyecto actualiza X campo de una tabla. Recuerda que dicho usuario que entre por web a tu pagina, se autentifica con tu web y unos datos guardados en alguna tabla de MySQL mas sin embargo se esta autentificando para ingresar a tu web con tu web, no se esta autentificando en MySQL... por ende MySQL no tiene en este caso absolutamente nada que ver con autentificacion de usuarios a traves de tu web, MySQL si tiene que ver con un usuario que ejecute mysql -u usuario porque ahi ese usuario se esta autentificando con el motor para entrar al motor, pero en el caso de tu web el usuario se autentifica con tu web para entrar a tu web  ;) 

Entonces no existe manera legal que MySQL conozca o manipule que usuario autentificado en tu web actualize algo en X tabla, ya que el acceso al motor de base de datos lo realiza 1 usuario, y a traves de ese usuario es que se hace todo dentro de las tablas. Pero ese unico usuario de mysql trabaja por todos los usuarios que se autentifiquen en tu proyecto.... (Espero que se entienda este tipo de explicacion). Ahora, como este es la situacion, al menos que crearas tu 1 usuario dentro de MySQL por cada usuario que se registre en tu web (Un crimen realmente  :-\ ) no hay manera que Current_user() te sirva.

Tendras que hacer como bien dices agregar un campo extra a la tabla que se va a modificar, y si necesitas alguna guia con el TRIGGER me comentas, y asi con ese campo 'extra' en la tabla que se va a modificar cada vez que se actualize pos se agregara que usuario (ayudandose en este caso de la variable en PHP de session) modifico esa data.
En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: Trigger + usuario por cookies??
« Respuesta #4 en: 12 Febrero 2010, 00:35 am »

No se me abia ocurrido hacer un usuario de MySQL por cada usuario, es un sistema para intranet, y no seran mas de 10 usuarios :xD! ves fiable que haga eso? o es mejor agregar un campo extra a la tabla, y, tal vez no un campo varchar(10) sino un int(2) y almaceno solo el id del usuario [...]


saludos :)
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Trigger + usuario por cookies??
« Respuesta #5 en: 12 Febrero 2010, 00:54 am »

Bueno, que es mejor un usuario dentro de Mysql por cada usuario, o una tabla que maneje los usuarios....  :rolleyes: dejame ver.

Si eligieras crear 1 usuario dentro de Mysql por cada usuario :

1 - No necesitarias crear ni utilizar una tabla 'Usuarios'
2 - La autentificacion seria directamente hacia el motor Mysql

Ahora que tiene de negativo? que los usuarios como conocen su contrasena y usuario, pueden perfectamente desde un cliente (terminal) mysql loguearse de forma remota o dentro de la red al servidor mysql por linea de comando, y ver a que tablas este tiene permisos y cuales permisos. (pero obviamente esto se puede controlar con permisos). Pero fuera de ahi hasta ahora no veo un inconveniente muy grave, y si haces esto asi, ahi si podras usar libremente la funcion CURRENT_USER() y funcionara  ;)

Si eligieras crear 1 campo extra en la tabla a modificar, ahi a lo mejor tendrias mas trabajo que realizar por codigo y eso, pero el usuario no tendria o no conoceria la forma de acceder por terminal a mysql remoto.

Pero obviamente estos usuarios deberian conocer del tema y como funciona Mysql, pero no hay nada que no puedas controlar repito dependiendo los permisos que otorgues a cada usuario. Pero que conviene? de esta parte podrias elegir cualquiera de las dos, sabiendo tu la capacidad de esos usuarios y hasta donde pueden llegar.
En línea

Azielito
no es
Colaborador
***
Desconectado Desconectado

Mensajes: 9.188


>.<


Ver Perfil WWW
Re: Trigger + usuario por cookies??
« Respuesta #6 en: 12 Febrero 2010, 01:00 am »

oka! me voy a ir por usar usuarios de MySQL y a cada uno le doy permisos solo de leer tablas, y a los de cada sección si que podran modificar las tablas que les corresponden, y les quitaria permisos de ver esa "information_schema" y en mi caso la de phpmyadmin :') y las de los otros dos sistemas que tengo en ese servidor


gracias por aclarame las dudas, ya te platico mañana [o el lunes] sobre el avance que tenga con el trigger, sigo leyendo sobre el tema, yo no se como pude vivir sin triggers todo este tiempo :xD!
En línea

^Tifa^


Desconectado Desconectado

Mensajes: 2.804


Ver Perfil
Re: Trigger + usuario por cookies??
« Respuesta #7 en: 12 Febrero 2010, 01:05 am »

Tu sabes que cualquier cosa hasta donde mi capacidad pueda ayudar.... ayudo  ;)

si estas seguro que te conviene mejor 1 usuario en Mysql por cada usuario perfecto. No lo he probado aun, pero puedo casi asegurar acorde a la forma como Mysql trabaja, que hay una manera de impedir que remotamente por una terminal o similar un usuario se conecte (aun conociendo su contrasena y usuario)  ;)  y que asi el usuario solo pueda conectarse a traves de la web que tu le otorgaras... si te interesa como hacerlo porque te preocupe esta parte me avisas y te digo, asi lo pruebas y vemos si funciona y te liberas de pensar que un usuario curioso accese por un cliente mysql desde su PC al servidor Mysql a ver cosas que no debe ver.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
TRIGGER EN ORACLE
Bases de Datos
RULZY 2 5,836 Último mensaje 6 Julio 2011, 22:36 pm
por kekehuete
enlazar trigger + jobs o prod almacenado + dts
Bases de Datos
maketoak 0 1,908 Último mensaje 1 Diciembre 2011, 12:28 pm
por maketoak
Capturar una query con un trigger
Bases de Datos
Shell Root 0 1,975 Último mensaje 10 Abril 2012, 04:25 am
por Shell Root
java y trigger
Java
bengy 2 3,068 Último mensaje 12 Junio 2012, 02:52 am
por lluvplay
(Pregunta): El usuario puede editar sus cookies?
Desarrollo Web
Leguim 4 1,962 Último mensaje 2 Noviembre 2019, 17:48 pm
por Leguim
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines