code: @Override
      public IPerson getPerson(HttpServletRequest request) throws PortalSecurityException {
          HttpSession session = request.getSession(false);
          IPerson person = null;
  
          // Return the person object if it exists in the user's session
          if (session != null) {
              person = (IPerson) session.getAttribute(PERSON_SESSION_KEY);
              logger.debug("getPerson -- person object retrieved from session is [{}]", person);
          }
  
          if (person == null) {
              try {
                  // Create a guest person
                  person = createPersonForRequest(request);
                  logger.debug("getPerson -- created a new guest person [{}]", person);
              } catch (Exception e) {
                  // Log the exception
                  logger.error("Exception creating guest person.", e);
              }
              // Add this person object to the user's session
              if (person != null && session != null) {
                  session.setAttribute(PERSON_SESSION_KEY, person);
              }
          }
  
          return person;
      }
docs: This is a basic implementation of <code>getPerson</code> that formerly appeared in <code>
  SimplePersonManager</code>. For uPortal 5, it's better to avoid unnecessary bean tweaking on
  the part of deployers, so the various flavors of PersonManager were combined in a manner
  where the appropriate behavior triggers automatically (based on AuthN settings).
  
  @param request the servlet request object
  @return the IPerson object for the incoming request