Posted by vacho on April 13, 2012 at 2:16pm
Estoy tratando de expulsar a un usuario que se loguea ni bien este ingresa al sistema. Esto debido a que no cumple un requisito X
he intentado usar el hook sisguiente
function scnfarma_user_login(&$edit, $account){
/* codigo de verificación si el usuario cumple las condiciones*/
//intento de eliminar la sessión del usuario
db_delete('sessions')
->condition('uid', $account->uid)
->execute();
}
Por algún motivo no elimina la sesión y el usuario sigue usando el sitio vivito y coleando...
¿alguna recomendación?

Comments
Mejor validar en el formulario de log-in
¿No es mejor simplemente generar un error de validación cuando el usuario envía el formulario de login?
En caso de ser necesario "suplantar" al usuario para revisar los requisitos, se debe hacer usando el método descrito en http://drupal.org/node/218104 (parte del manual http://drupal.org/writing-secure-code)
interceptar el formulario login?
Esto como lo hago? que hook o función ?
Con hook_form_alter se puede
Con hook_form_alter se puede averiguar el form_id del formulario; dpm() es muy útil (viene en el módulo devel).
El resto está aquí: http://befused.com/drupal/additional-validation-function
Session Expire
Hola Osvaldo,
Dale un vistazo a este módulo: http://drupal.org/project/session_expire creo que es lo que buscas.
Saludos,
Cristian
http://eldrupalero.com
ohh
esto esta genial para evitar que esta table sessions se sature...
grax.. pero seguimos en la busqueda
el modulo este session_expire hace esto:
db_query("DELETE FROM {sessions} WHERE timestamp < %d $extra_cond", $timestamp);
cuando el tiempo que lleva en el sistema esa sesión es menor al límite establecido en configuración del módulo ($timestamp)
pero cuando el usuario esta actualmente logueado y navegando en el sitio el delete sobre la tabla sessions por algún extraño motivo o magia budu... no funciona. (lo cual tiene cierta lógica)
saludos...
noticias...
ninguna forma de consulta para eliminar una sesión de la tabla "sessions" funciona si la acción que dispara la consulta es ejecutada por el mismo usuario del que se quiere eliminar la sesión
por lo que la funsión durpal_session_destroy_uid() tampoco funciona para lo que requiero.
quizás lo que necesitas es
quizás lo que necesitas es esto
http://api.drupal.org/api/drupal/modules%21user%21user.pages.inc/functio...
Martín González Robles
web: http://elsabrosista.com
email: martin.glez.robles@gmail.com
Unidad sobre OG para Drupal 7: http://www.forcontu.com/descarga/d7u66pdf
no aparece cerrar sesion como usuario registrado
Hola a todos me pueden ayudar estoy en local host soy el administrador pero entre como usuario registrado hice una cuenta demo y la active desde mi cuenta de administración pero cuando entre como usuario registrado desaparece el bloque cerrar sesión y ya no puedo entrar como administrador porque primero tengo que cerrar sesión como usuario registrado
menu usuario
cierra completamente la pagina, asi haras "logout", has login como admin y en BLOCKS "activa" o mas bien posiciona el "user menu" en algun lado (header por ejemplo), y listo, podras ver "logout", etc.
no aparece cerrar sesion como usuario registrado
hice el procedimiento cerré la pagina pero me sale igual no aparece cerrar sesión y sigo como usuario registrado pero sin acceso a cerrar sesión. de todos modos gracias pinueve
Accede directamente a
Accede directamente a /user/logout editando en la barra de direcciones de tu navegador.
--
Christian López Espínola (@penyaskito)
gracias
Gracias por la ayuda, logre solucionar el problema entre al panel de control de google crome y borre el historial de navegación y otros y con esto ya me mostró el bloque de usuario de drupal muchas gracias por todo a los que contestaron mi pregunta