Application Launchpad



Product Versions

Crowd 1.0.6


Brad Harvey











Download JAR


Download Source

This application is deprecated. Crowd now bundles a demo application, and the JAAS login module no longer supports acegi. It could be updated, but I don't think there's much value in doing so.

View and login to your Crowd enabled applications from the Application Launchpad, and change your password.


The launchpad supports single sign on with other Crowd single sign on enabled applications. After logging in, you are shown all the applications you can access along with what groups you have for each application.

Users can also change their own password.


Step 1. Login

Step 2. View Applications

The launchpad will display all applications for which you have the required groups. If there is a URL in the description field for the application in Crowd, the application name will be a link that you can click on to launch the application.

Step 3. Launch!

Click on an application name to go straight there. If it supports single sign on, you'll already be logged in.

Change Password

Users can also change their own password via the Change Password link in the header.

Installation, Setup and Requirements


The Application Launchpad is a standalone war file - you'll need a servlet engine to run it in. It also requires Java 1.5.

In the interests of eating my own dogfood, the launchpad uses the Crowd JAAS Login Module. If your servlet engine has its own JAAS configuration mechanism this may mean some additional setup steps.

Launchpad Installation & Configuration

Quick Start

To get up and running quickly to test without changing from the default properties:

  • Install Crowd with out of the box defaults.
  • Create an application in crowd called launchpad, and the password should be launchpad.
  • The directories for launchpad should be set to 'allow all to authenticate'.
  • Create a principal called launchpad with password launchpad.
  • Install a fresh tomcat 5.5 to host the application launchpad. This will help prevent xml library conflicts.

1. Add an Application in Crowd for the Application Launchpad

See Adding an Application for more detailed instructions.

Add an application named launchpad.

Click the 'Directories' tab and change 'Allow all to authenticate' to 'True' (the default is 'False'). This way we don't need specific Groups for the launchpad.

2. Add a Principal in Crowd for the Application Launchpad

The launchpad needs to access the Crowd Administration console as a normal user to get information about the configured applications (the SOAP API does not support this).

See Adding a User. Create a principal called launchpad and give it the crowd-administrators group. Test that you can login to Crowd normally with this user.

3. Setup applications in Crowd to appear in the Launchpad

Launchpad checks the groups a user has against the groups configured for an application. It won't display applications that use 'Allow all to authenticate' (like launchpad itself).

If you want a link to appear in the launchpad for an application, add it to the description field of the Application in Crowd.

Application Details Cached

Please note that the launchpad caches the application information it retrieves from crowd (for 500 seconds by default - see

4. Review Properties

Inside the war WEB-INF/classes there are two properties files of interest - and Edit to change the Application connection details from step 1, and to change the Principal connection properties from step 2. 

# Launchpad properties.  Defaults are listed below, uncomment to modify.

# User/Pass of a user that can login to crowd admin console (crowd-administrators)
# crowd.userName=launchpad
# crowd.password=launchpad

# URL to crowd admin console (without the /crowd/console)
# crowd.baseUrl=http://localhost:8095

# Loading the application list is slow, so don't reload more frequently than
# this many seconds.
# applications.cache.expirySeconds=500

# security domain for JAAS Login
# loginContextName=crowd

# JAAS login config file
# loginConfig=/WEB-INF/login.conf

5. Alternate JAAS Configuration for some Containers (like JBoss)

If your container already uses JAAS, you will need to install the Crowd JAAS login module dependencies where the container can see them. In JBoss, this is server/lib.

You may also find that /WEB-INF/login.conf isn't used. For example in JBoss add the following to login-config.xml instead.

JBoss login-config.xml snippet
   <application-policy name = "crowd">
          <login-module code="com.atlassian.crowd.application.jaas.CrowdLoginModule"
             flag = "required">
           <module-option name="">launchpad</module-option>
           <module-option name="application.password">launchpad</module-option>
           <module-option name="crowd.server.url">http://localhost:8095/crowd/services/</module-option>
           <module-option name="session.isauthenticated">session.isauthenticated</module-option>
           <module-option name="session.tokenkey">session.tokenkey</module-option>
           <module-option name="session.validationinterval">0</module-option>
           <module-option name="session.lastvalidation">session.lastvalidation</module-option>

6. Install the war

For tomcat, I extracted the webapp into a launchpad subdirectory under the tomcat home directory, and created a context like this:

<Context path="/launchpad" docBase="${catalina.home}/launchpad"/>

I was then able to login at http://localhost:8080/launchpad.

Version History


Release Date



May 12, 2007

Add change password function


May 7, 2007

Initial Release

Building from Source

This project uses maven2. I use the maven2 plugin for eclipse -

Some dependencies need to be installed manually. Get Crowd JAAS Login Module and install with the following command:

mvn install:install-file -DgroupId=com.atlassian.crowd.application -DartifactId=CrowdJaasLoginModule -Dversion=0.9.2 -Dpackaging=jar -Dfile=CrowdJaasLoginModule-0.9.2.jar

You may need to add crowd-core to your local repository. Change to the $CROWD_INSTALL/client directory and execute this command:

mvn install:install-file -DgroupId=com.atlassian.crowd -DartifactId=crowd-core -Dversion=1.0.6 -Dpackaging=jar -Dfile=crowd-core-1.0.6.jar

All other dependencies should be in the public maven repo.