Hola, con estas lineas de codigo se puede controlar el acceso a AX para ocupar solo una licencia por usuario y no permitirle conectarse más de una vez.
Hay que buscar en la clase "Info" el método "startupPost" y asignarle el código siguiente:
void startupPost()
{
int cuentaSesionActiva = 0;
UserId IdUsuario;
SysClientSessions _SysClientSessions;
;
IdUsuario = curuserid(); // capturamos el id del usuario
while select RecId from _SysClientSessions order by login_time desc
where _SysClientSessions.userId == curuserid() && _SysClientSessions.Status == 1
{
if (_SysClientSessions.RecId)
cuentaSesionActiva = cuentaSesionActiva + 1; //Acumula el número de logins activos del usuario en el
sistema
else
cuentaSesionActiva = 0;
}
if (cuentaSesionActiva > 1)
{
infolog.shutDown(false);
}
}
Bueno este codigo ya lo he probado con ax 4 y ax 2009 y funciona bien.
Este código como verán es muy simple, pero dejo a imaginación del lector todo lo que se puede hacer, por ejemplo yo hecho que el ax diferencie usuarios por empresas y cada empresa tenga un numero limitado de licencias.
Saludos.
No hay comentarios:
Publicar un comentario