Appboard/old/login and urls

This page details the various elements related to accessing and logging in to AppBoard/enPortal.


Login Page

After submitting an AppBoard or enPortal URL in a web broswer for the first time, the User will encounter a Login page. The User must enter a User Name, Password, and Domain provided to them by the system administrator.


Template-tip.png
If all Users in a system will be in the same Domain, the Login page can be simplified by modifying the page to hide the Domain field and auto-submit the Domain value.


Upon initial installation of the system, the administrator can log in with the following credentials:


  • User Name: administrator
  • Password: administrator
  • Domain: System


The system will check for the entered values in its user database (or external LDAP repository, if configured to do so). If the User has valid credentials, they will be taken to the appropriate landing page inside the system, which will depend on which URL was used to access the system (see URLs section below).


Template-note.png
All values entered on the login page are case-sensitive.


System Login Page

After installation, a default system login page is used. You can replace the system login page with a custom page built to match the desired branding of your organization.


Perform the following steps to create and implement a custom system login page:


  1. Locate the standard system login page in [INSTALL_HOME]/server/webapps/enportal/login_pages/login.jsp
  2. Create a new folder "MyLoginPage" under [INSTALL_HOME]/server/webapps/enportal/login_pages
  3. Copy the default login.jsp page into the new folder.
  4. Modify the login page in your custom folder to match the branding and requirements of your organization.
  5. Set the new system login page in the admin GUI:
    1. Log in to enPortal as an administrator.
    2. Mouse over the Advanced tab and click Explore System. The Explorer panel is displayed.
    3. Right-click on the Explorer folder, and select System Login Page.
    4. In the box, type the new login page path and filename, relative to the /enportal/login_pages/ directory. Example: MyLoginPage/login.jsp
    5. Click Save.
    6. Log out and observe the login page to validate that it is the new custom page.


You can also customize login pages to be different for each Domain. A user would see the default login page on first login, but subsequent logins would use a cookie which stores the last Domain accessed for determining the appropriate login page.

Bypassing the Login Page

There are some special cases where a User can log in without going through the system Login page:


Direct Login Using URL Parameters

For development or testing purposes, it may be desirable to create a URL that contains the login credentials. This enables the User to login without going through a login page. The following sample URLs can be used for this purpose:


  • enPortal:
http://localhost:8080/enportal/home?login&userid=administrator&password=administrator&domainSelect=System
  • AppBoard:
http://localhost:8080/enportal/ab/home?login&userid=administrator&password=administrator&domainSelect=System


Because this URL exposes the password of the User, it is not recommended for use in accessing a production system.


Directly Accessing an AppBoard Stack

Perform the following steps to form a URL to directly access a particular stack within AppBoard:


As noted above, the general form of the URL is:

https://hostname.com/enportal/servlet/pd?

with the following URL parameters:

  • login=
  • domainSelect=
  • userid=
  • password=


Also, the AppBoard URL for accessing a specific stack is formed like this:

/enportal/servlet/pd?redirect=/enportal/ab/home&onlyStackIds=C580AC53-88AD-A2EF-C9D3-5520368370B0,970B2DC4-F8CC-6128-83D8-5526ADAF3FDD&selectedStackId=970B2DC4-F8CC-6128-83D8-5526ADAF3FDD

with the following URL parameters:

  • redirect=
  • onlyStackIds=
  • selectedStackId=


In this example, the Stack IDs (such as C580AC53-88AD-A2EF-C9D3-5520368370B0) can be found in the [AppBoard_Home]/server/webapps/enportal/WEB-INF/xmlroot/appboard/config/stacks.xml file. For each Stack you are trying to show, the relevant section of stacks.xml containing the Stack ID would be something like this:

<obj className="appboard.config.Stack" id="C580AC53-88AD-A2EF-C9D3-5520368370B0">
<attribute name="title" value="Name of Stack">


So, this direct access URL would be used in the redirect= parameter in the URL at the top, but since it needs to be passed in as a whole string and not parsed in the first pass, you need to URL encode it to protect special characters like / and ? and #. This can be done using a web utility site, such as: http://meyerweb.com/eric/tools/dencoder/


When you put the specific stack URL into that page and encode it, you get:

/enportal/servlet/pd?redirect=%2Fenportal%2Fab%2Fhome%3FonlyStackIds=C580AC53-88AD-A2EF-C9D3-5520368370B0,970B2DC4-F8CC-6128-83D8-5526ADAF3FDD&selectedStackId=970B2DC4-F8CC-6128-83D8-5526ADAF3FDD


And then you put that into the full URL from the top to form this:


https://hostname.com/enportal/servlet/pd?redirect=%2Fenportal%2Fab%2Fhome%3FonlyStackIds=C580AC53-88AD-A2EF-C9D3-5520368370B0,970B2DC4-F8CC-6128-83D8-5526ADAF3FDD&selectedStackId=970B2DC4-F8CC-6128-83D8-5526ADAF3FDD&login&domainSelect=System&userid=administrator&password=administrator

This would log you in as administrator/administrator/System, with the two indicated Stacks displayed and selecting the stack with the indicated "selectedStackId".


Passing Variable Values

The AppBoard/enPortal URL can include values to be passed into variables in the system. To set a variable value, append the following to the URL:


&_es_.testvar=mynewtestvalue


with the following parameters:

  • _es_. - This should always be "_es_." and indicates that a variable will be set after the "."
  • testvar - This is the name of the variable that is being set
  • mynewtestvalue = This is the value to be assigned to the variable


For more information about creating variables in AppBoard, see Access Control Variables.

Resuming Expired AppBoard Sessions

If a User's session expires in an AppBoard view, the user can resume the session without going to the Login page (and forcing a reload of the Flash plugin). The system will provide a login window with the User Name and Domain filled in. The User can simply enter the password and click Login to log in and resume the previous session.

URLs

The following table summarizes the primary URLs that are available for accessing AppBoard/enPortal:


AppBoard/enPortal URLs
Component
URL*
Description
AppBoard http://localhost:8080/enportal/ab/home If the User's default role is portalAdministration, this will launch the AppBoard Builder. Otherwise, this will launch the AppBoard Viewer.
AppBoard Builder http://localhost:8080/enportal/ab/home?builder If user 's Role is portalAdministration, this will launch the AppBoard Builder. Otherwise, this will launch the AppBoard Viewer.
AppBoard Builder (Debug mode**) http://localhost:8080/enportal/ab/home?debug=true If user 's Role is portalAdministration, this will launch the AppBoard Builder in debug mode. Otherwise, this will launch the AppBoard Viewer.
AppBoard Viewer http://localhost:8080/enportal/ab/home?viewer Launches the AppBoard Viewer. (A non-administrator User will also access the AppBoard Viewer by going to the Home URL or AppBoard URL)
AppBoard Viewer (Debug Mode**) http://localhost:8080/enportal/ab/home?viewer&debug=true Launches the AppBoard Viewer in debug mode.
enPortal http://localhost:8080/enportal/home Launches enPortal
Home URL http://localhost:8080/ Launches either AppBoard or enPortal, depending on the Home URL configuration (see "Home URL" section below)
Safemode http://localhost:8080/enportal/ab/#safeMode= Launches AppBoard in "safe mode". This is used by the administrator for troubleshooting. In the case where an error is preventing the administrator from deleting a failing component, this URL will launch the AppBoard Builder with all of the Stacks hidden from display. The administrator can then access the configuration panels to delete or edit the broken component.


* The URLs in the above table assume that the server name is "localhost" and the system is running on the default port of 8080.
** Using debug mode requires installing a debug version of Flash player.


Home URL

The Home URL is used to determine what URL to send a User to when a full path is not provided in the URL, or in cases such as when a User switches to a different Role. There are two main home URLs:


  • enPortal: /enportal/home
  • AppBoard: /enportal/ab/home


The choice of which is accessed by default for a particular system is configured in the following files:


  • enPortal: /server/webapps/enportal/WEB-INF/config/config.properties
    • dispatch.loginredirect=/enportal/home
  • AppBoard: /server/webapps/enportal/WEB-INF/config/appboard.properties
    • dispatch.loginredirect=/enportal/ab/home


If there are values in both of the above files, the one in appboard.properties will take precedence and be used.

Template-tip.png
Although the setting for the default home URL is a global setting that is not configurable by User or Role, a workaround is to distribute one of two distinct login page URLs to each individual based on his typical use of the system. enPortal admin users can be given the http://localhost:8080/enportal/home “login page”, and AppBoard admin users can be given the http://localhost:8080/enportal/ab/home “login page”

Determining Roles

Every User has a default Role. Some Users can have multiple Roles assigned to them. Such Users will have a Role chooser displayed in the banner of AppBoard or enPortal. When a User logs in to AppBoard/enPortal, they will be presented the appropriate landing page and content associated with their default Role. If a User has multiple Roles, he can switch to a different Role at any time using the Role chooser.


The system performs the following steps when a User switches Roles:


  1. Logs the User out of the system.
  2. Logs the User in to the system under the new Role.
  3. Takes the User to the Home URL of the system (this may vary depending on whether the User is an administrator).