How to Restrict non-admin users to open multiple sessions in AX 2012


Description:-

In thus article we will see about restriction about non-admin users in dynamics ax. here i have create code for restrict non-admin user to avoid login in dynamics ax. you need to code in startupPost() method to avoid users to login.

NOTE:- Please take backup of your application before copying code

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

/*No SYS code must exist in this method*/
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
      {
         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);
      }
   }
}

Related Posts

Previous
Next Post »

Thanks for comments.....