2 Replies Latest reply on Mar 24, 2009 4:37 PM by jncrisp

    struggling to get user family name and role into jsp file

    jncrisp

      Is there a way from the header.jsp to display the family name of the user? I am trying to customize the portal-core.war and need to display the first and last name of the user.

      Also what about getting the role? Let's say I only want to display a link in the header.jsp based on a role of admin?

      I don't have any problems getting this info when I am working with Seam but with straight jsp I am struggling to find the answers.

      Thanks in advance for any help!

        • 1. Re: struggling to get user family name and role into jsp fil

          What version of JBoss Portal are you using? In Portal 2.6, your PageCustomizerInterceptor stores the userProfile as a request attribute:

          Controller controller = controllerCtx.getController();
          Map userProfile = controllerCtx.getUserProfile();
          request.setAttribute("org.jboss.portal.header.USER_PROFILE", userProfile);


          You can then access attributes from the user profile in your header.jsp:

          <c:out value="${requestScope['org.jboss.portal.header.USER_PROFILE']['user.name.family']}" />


          If you're on Portal 2.7, the process should be about the same. Check the reference docs for info on accessing the UserProfile in 2.7: http://docs.jboss.org/jbportal/v2.7.1/referenceGuide/html/identity.html

          • 2. Re: struggling to get user family name and role into jsp fil
            jncrisp

            Thanks apemberton for pointing me in the right direction!

            In Portal 2.7 it changed a little bit. Here is what I did inside the jsp to get the first and last name:

            <%
            
            UserProfileModule userProfileModule = (UserProfileModule) new InitialContext().lookup("java:portal/UserProfileModule");
            
            UserModule userModule = (UserModule) new InitialContext().lookup("java:portal/UserModule");
            
            User user = userModule.findUserByUserName(principal.getName());
            
            String lastName = (String) userProfileModule.getProperty(user, User.INFO_USER_NAME_FAMILY);
            
            String firstName = (String) userProfileModule.getProperty(user, User.INFO_USER_NAME_GIVEN);
            
            %>