How to Restrict Multiple Time login of a same user

How to Restrict Multiple Time login of a same user in ax 2009?

Copy Paste the Following Code in startupPost method of info class in AOT

void startupPost()
{
// To restrict user login form second login
xSession session;
SysClientSessions SysClientSessions;
UserId currentUserId;
int counter;
;
currentUserId = curUserId();
if(currentUserId!="Admin")// Allow Admin User to login multiple time
{
while select SysClientSessions
where SysClientSessions.userId == currentUserId &&
SysClientSessions.Status == 1 // 1 : Login 0 : Logout

SysClientSessions.clientType ==0
{
session = new xSession(SysClientSessions.SessionId, true);
if (session && session.userId())
{
counter++;
}
}
if(counter>=2)
{
Box::stop("Already Logged-in : The same user id can't log in twice.");
infolog.shutDown(true);
}
}
}

 But its not working for Non Admin group users

Could any one help me

Parents
  • Copy paste below code in startupPost method of info class


    void startupPost()
    {
    // To restrict user login form second login
    xSession session;
    SysClientSessions SysClientSessions;
    UserId currentUserId;
    int counter;
    UserGroupList UserGroupList ;
    ;

    currentUserId = curUserId();
    // info(currentUserId);

    if(currentUserId != "AdminUser")
    {
    while select SysClientSessions
    where SysClientSessions.userId == currentUserId && SysClientSessions.Status == 1
    {
    session = new xSession(SysClientSessions.SessionId, true);
    if (session && session.userId())
    {
    counter++;
    }
    }
    // info(int2str(counter)+ "ct");
    if(counter>=2)
    {
    Box::stop("Already Logged-in : The same user id can't log in twice.");
    infolog.shutDown(true);
    // info("close");
    }
    }
    }
Reply Children
No Data
Related
Recommended