Name |
Application Launchpad |
---|---|
Version |
0.9.1 |
Product Versions |
Crowd 1.0.6 |
Author |
Brad Harvey |
Homepage |
|
Price |
Free |
License |
|
JavaDocs |
|
IssueTracking |
|
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.
Description/Features
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.
Usage
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
Prerequisites
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 launchpad.properties).
4. Review Properties
Inside the war WEB-INF/classes there are two properties files of interest - crowd.properties and launchpad.properties. Edit crowd.properties to change the Application connection details from step 1, and launchpad.properties to change the Principal connection properties from step 2.
application.name=launchpad application.password=launchpad crowd.server.url=http://localhost:8095/crowd/services/ session.lastvalidation=session.lastvalidation session.isauthenticated=session.isauthenticated session.tokenkey=session.tokenkey session.validationinterval=0
# # 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.
<application-policy name = "crowd"> <authentication> <login-module code="com.atlassian.crowd.application.jaas.CrowdLoginModule" flag = "required"> <module-option name="application.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> </login-module> </authentication> </application-policy>
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
Version |
Release Date |
Description |
---|---|---|
0.9.1 |
May 12, 2007 |
Add change password function |
0.9 |
May 7, 2007 |
Initial Release |
Building from Source
This project uses maven2. I use the maven2 plugin for eclipse - http://m2eclipse.codehaus.org/.
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.
Screenshots
Screenshots |
||
---|---|---|