if (id != null)
{
String address = (String)session.getAttribute(CURRENT_IP_ADDRESS);
if (address != null && address.equals(request.getRemoteAddr()))
{
EPerson eperson = EPerson.find(context, id);
context.setCurrentUser(eperson);
// Check to see if systemwide alerts is restricting sessions
if (!AuthorizeManager.isAdmin(context) && !SystemwideAlerts.canUserMaintainSession())
{
// Normal users can not maintain their sessions, check to see if this is really an
// administrator loging in as someone else.
EPerson realEPerson = EPerson.find(context, realid);
Group administrators = Group.find(context,1);
if (!administrators.isMember(realEPerson))
{
// Log this user out because sessions are being restricted by a systemwide alert.
context.setCurrentUser(null);