Sometimes, frevvo is deployed to an existing servlet container that is already handling user authentications through, for instance, LDAP. Here the authentication is the responsibility of the container, but frevvo is still responsible for the runtime authorization and the design time querying of user metadata. The LDAP Container Security Manager reuses the existing frevvo LDAP connector but relies on the container for user authentications.
On this page:
Active Directory Requirements
- There must be a frevvo.User group in Active Directory
- All the users in your LDAP-CSM tenant must be members of this group
- The tenant admin must have the roles of frevvo.TenantAdmin, frevvo.Designer and frevvo.User.
- Stop frevvo if it is running.
Modify the <frevvo-home>\tomcat\conf\server.xml file. Here is an example of the changes needed when using tomcat.
Edit this file with a text editor.
Search for 'ldap://localhost:389 - you should find this in the org.apache.catalina.realm.JNDIRealm section of the file.
Notice lines 98 - 107 are commented out.
Uncomment this section. Replace the existing code with the code shown below:
Replace the connectionURL, connectionName and the connectionPassword default values with your LDAP server information.
Refer to this website for detailed information about the remaining parameters.
5. Create a tenant with the LDAP Container Security Manager class.
6. Stop frevvo.
7. The <frevvo-home>\tomcat\webapps\frevvo.war file must be secure. This is done by enabling the <security-contraint/> found in the web.xml file included in the frevvo.war.
Follow these steps to secure web.xml:
a. Unzip <frevvo-home>\tomcat\webapps\frevvo.war to a temporary directory on your desk top.
b. Edit frevvo.war!WEB-INF/web.xml and uncomment the BASIC <security-constraint/> fragment.
c. Re-zip frevvo.war
Here is the sample <security-contraint/> found in web.xml:
8. Start frevvo.
Check if the configuration is correct
Here are some quick tests to check if the LDAP Container Security Manager tenant configuration is correct:
Browse 'http://<IP>:<PORT>/frevvo/web/tn/<tenant id>/login'. Substitute the ip address/port of the frevvo server and the name of your LDAPCSM tenant for the tenant id. The browser authentication light-box displays.
- Login as the tenant admin for the LDAP-CSM tenant. This admin must have the frevvo.User role in addition to the frevvo.tenantadmin and frevvo.designer roles.
- Click Manage Roles. You should see a list of groups.
- Click the Back to Manage Tenant link.
- Click Manage Users.
- Click All. You should see a list of LDAP users.
- Now, click Back To Manage Tenant.
- Log out from frevvo.
- Try to login with the user name and password of a user in the LDAP-CSM tenant. You do NOT need to specify the LDAP-CSM tenant when logging in. For instance, if nancy is a valid LDAP user you should log in as nancy. The password would be nancy's password in LDAP. User nancy's home page will display.
Since you are using LDAP to define frevvo users and roles (i.e., groups), you do not see an Add User icon or Add Role icon on the Manage Users or Manage Roles pages.
If the tenant admin user does not exist or it does not have the required roles, this error will display with the name of the tenant you are trying to add:
This error message can be seen in the <frevvo-home>\tomcat\logs\frevvo.log file if the LDAP-CSM tenant cannot be created.