It's better to redirect in a polite way. maybe you can save data entered by user, tell them they need to sign in again and then redirect them to login page. after their successful authentication, redirect them back to the state they were, and reload data. you should keep your login page small in size and without anything attractive.
It's better than a Pop-Up if you really mean it! don't use pop-up nowadays. If you mean modal boxes, Users may find it distracting.
But the best solution is not forcing them to sing in at the middle of their work. show them a sign in page at first before anything done, or when they are finished with it. if you work with sessions and they expire on the middle of the work, they try to optimize the expiration time.