Configuring the LDAP Security Manager for In-house

Follow these instructions if you have an in-house installation of frevvo up and running. If you have a provisioned cloud tenant and you want to configure the LDAP Security Manager, follow the instructions for Configuring the LDAP Security Manager LDAP(s) for Cloud tenants.

Safari browser later than v5.1.7 running on Windows is no longer supported. Issues were found when using Safari with LDAP - SSO.

On This Page:

Prerequisite Tasks

These instructions assume that you have an in-house installation of frevvo up and running. Refer to Configuring the LDAP Security Manager LDAP(s) for Cloud tenants if you have signed up for an LDAP tenant on the cloud server.

Roles

Required: Active Directory Customers using LDAP must ensure frevvo.TenantAdmin and frevvo.Designer groups are specified on your LDAP/AD server. The group names must be spelled as shown. Upper/lower case may be a factor for Open LDAP systems.

  • Tenant admin users must be assigned to the frevvo.TenantAdmin group.
  • Designer users must be assigned to the frevvo.Designer group. Note that, unlike the default security manager, users in the frevvo.TenantAdmin group must also be in the frevvo.Designer group to design forms/workflows.

Optional: There are two additional roles in frevvo - frevvo.Publisher and frevvo.ReadOnly.  These roles are optional.

  • In order to give a user the frevvo.publishers role, create the frevvo.Publisher group in your AD and assign users to it. Refer to the Publisher Role Documentation for an explanation of this role.
  • In order to give a user the frevvo.ReadOnly role, create the frevvo.ReadOnly group in your AD and assign users to it. Following frevvo Best Practice eliminates the need for this role.

  • Contact the frevvo Customer Success team to schedule your Security Manager configuration.
  • frevvo Best Practice recommends that you create a user account in your Active Directory that will house all of your deployed Production forms/workflows. This user can be named anything i.e.frevvoProduction but it must be a member of the frevvo.Designer group.
  • Review the documentation on Preserving Projects/Forms/Workflows developed in your trial/starter tenant BEFORE changing security managers.


Configuring frevvo and LDAP/Active Directory 

frevvo users and groups can be maintained externally in systems such as Active Directory or Open LDAP.  Follow these steps to integrate frevvo and your LDAP server:

  1. Collect the key information listed below and verify the Prerequisite Tasks have been performed.
  2. Create a tenant with the LDAP/Active Directory Security Manager class.
  3. Once you have your tenant successfully connecting with your LDAP server, review the available options regarding the authentication process.

Key Information to Collect

Before configuring the LDAP/Active Directory Security Manager, you will need the following information:
  • LDAP server name or ip
  • LDAP server port
  • User name and password with proper permissions to access and browse LDAP.
  • LDAP groups and/or users that will be considered frevvo designers. These users will be able to create forms and Workflows in frevvo.
  • LDAP groups and users that will be considered frevvo administrators.
  • LDAP groups and users that will be considered frevvo publishers. This role gives a user the permission to go to the home page of every other tenant user. 
  • LDAP groups and users that will be considered ReadOnly.
  • LDAP user and groups base filters
  • LDAP all users and all groups filters
  • LDAP the attribute names in your Active Directory for UserId Display, GroupId Display, User Member Of, Group Member, First Name, Last Name, Email and Manager (optional)

The connection to your LDAP server is configured at the tenant level.

  • New frevvo in-house customers can add an LDAP tenant and configure the LDAP parameters via the Add Tenant screen. LDAP properties can be updated at anytime via the Edit Tenant screen.
  • Cloud customers must request an LDAP tenant from frevvo customer support. Cloud customers will receive a default tenant login from frevvo and then they can edit the LDAP configuration properties using the Edit Tenant screen to connect to their LDAP server.

In all cases, follow these steps to configure LDAP. These instructions assume that you have an in-house installation of frevvo up and running or you have signed up for an LDAP tenant on the cloud server.

  • In-house customers:
    1. Login to frevvo as an  administrator (user:admin and password:admin if you have not changed it)
    2. Click on Manage and then Manage Tenants
    3. You will see a page where the current tenants are listed. If this is a new installation you will only see the default tenant d
    4. Click on the plus icon to add a new tenant.
    5. Configure the new tenant - Choose LDAP/Active Directory Security Manager from the Security Manager Class dropdown.
Add New Tenant Screen


 Click here to view example Edit Tenant screen...
Edit Existing Tenant Screen

      1. Enter your LDAP Configuration Properties and Sample Configurations. Alternatively, you can start off from one of the sample configurations and provide only the key information listed above. See below for information on the TLS checkbox.

        The Name/value table highlighted in the image allows you to configure up to 10 additional LDAP properties. See this Oracle website for a complete list of all available LDAP properties. For example, you can configure frevvo to ignore or follow referrals.

        Setting the java.naming.referral property to a value of "ignore" in the Name/Value table configures frevvo to ignore referrals. Consult your LDAP Administrator for the details.

      2. If you are creating a new tenant:
        1. Enter a tenant id, a tenant name and description.
        2. The Max Concurrent Users is the maximum allowed by your license or less.
        3. Specify the User ID, password and email address of a user that will have the tenant admin permission. This user id is the built-in and can be used to access tenant administrative functions if you cannot log in as an authenticated LDAP tenant admin.
          1. The tenant admin id, password and email fields are required. The Change password on next login is optional. It is checked by default.
        4. Click Submit. You will see your new tenant in the tenant list if the connection to your LDAP server is successful.


The Ignore Case and Notify checkboxes are checked by default. It is recommended that you leave them checked. Refer to Mixed or Upper case User Names topic for an explanation of the Ignore Case option.

The Notify checkbox determines whether the task notification emails setup in frevvo workflows are sent or not.

 
Clicking the submit button tests the connection. Any errors are displayed at the top of the form. Here is an example of an error when there is a typo in the LDAP server name:


Here is another example if the connection password is not correct


Refer to FAQ - frevvo and LDAP for more troubleshooting information.

Check if the configuration is correct

Here are some quick tests to check if the LDAP configuration is correct:

  1. Login as the frevvo tenant admin for the LDAP tenant.
  2. Click on the Manage Users link.
  3. Click All. You should see a list of LDAP users who were assigned one of these frevvo roles on the LDAP server: frevvo.TenantAdmin, frevvo.Designer, frevvo.Publisher, frevvo.ReadOnly
  4. Now, click Back To Manage Tenant.
  5. Click Manage Roles. You should see a list of groups from your LDAP server.
  6. Log out from frevvo (you should be currently logged in as the tenantadmin)
  7. Try to log in with the user name and password of a user in LDAP. You need to specify the proper tenant when logging in. For instance, if john is a valid LDAP user and the name of the LDAP tenant is MYLDAP, you should log in as john@MYLDAP. The password would be john's password in LDAP.

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.

LDAP Built-in Admin

 A Tenant admin can log in directly to frevvo or log in with a user id that has been given tenant admin permissions in your Active Directory.

When you create a new tenant you are prompted to set up a tenant admin user id, password and email address. This tenant admin does not authenticate via your LDAP IDP. It only exists in frevvo. If you experience an issue with your LDAP configuration such that you can't login as an Active Directory authenticated user, use the built-in admin to login to your tenant as a tenant admin in order to fix your configuration issue. The built-in is able to access the frevvo tenant admin functions if your LDAP Server should become inaccessible. Only one built-in tenant admin account is supported.


Browse this URL to login as the built-in: <base_URL>/frevvo/web/admin/login. When specified, frevvo will prepend the base URL to the URLs in your Form/Document Actions. The <base_URL> is typically http(s)://<your servername>:<port>.

  • You must use the admin-specific URL - <base-url>/frevvo/web/admin/login - to login as the built-in.
  • Nonadmin users can also log in using the admin-specific URL.

If your tenant originally used the Default Security Manager and then you changed to the LDAP Security Manager, this tenant admin account has already been set up. If you have forgotten the password, you can change it by :

  • Log in as your authenticated LDAP tenant admin. Click the Edit Tenant link. The Admin User information is displayed.
     
  • If logging in as the authenticated LDAP tenant admin is not possible, browse this admin-specific URL - <base-url>/frevvo/web/admin/login. Enter the built-in userid. Click Forgot Password? Once you have changed the password, browse the admin-specific URL again and log in with the tenant admin user id and the new password. If you need to change the password again or make changes to your tenant, click the Edit Tenant link. The built-in password can be changed on this screen.



    This error message displays if any other user clicks on the 'Forgot Password?' link after browsing the admin-specific URL:

     

What if you do not remember the userid of your original tenant admin? Follow these steps:

  1. Log in as your authenticated LDAP tenant admin. Click the Edit Tenant link. The Admin User information is displayed.
  2. If logging in as the authenticated LDAP tenant admin is not possible, the frevvo (Cloud customers) and in-house superuser can see the built-in tenant userid from the Edit Tenant page.


Secure LDAP Configuration

frevvo will be connecting to your LDAP server over the network. Here are two methods to secure the LDAP connection:

  1. Simple authentication over SSL - To enable SSL to use the ldaps scheme in your LDAP tenant configuration in place of ldap and use port 636.  This is supported by older LDAP products such as AD 2000. It is important that the hostname in the certificate matches the hostname in your ldaps url.
  2. Simple or external SASL authentication over TLS (Transport Layer Security) - To enable this method check the TLS checkbox in your LDAP tenant configuration. TLS is used by the LDAP v3 standard in products such as AD 2003 and above. TLS uses the standard LDAP port 389.  

When using either of these two methods, the recommended approach is to use a CA-signed certificate. If you do not have a CA-signed certificate then you can use a self-signed certificate.

Self-signed certificates are not supported for frevvo Online. Although they are supported for frevvo in-house, use of self-signed certificates is not recommended.

Finally, you need to install your signed or self-signed certificate. You can import the certificate into a Keystore that frevvo can access and trust. Follow the instructions for your Keystore. If frevvo is installed in a tomcat server, the tomcat Keystore can be used. Refer to this Apache Tomcat website for instructions.

LDAP Configuration Properties and Sample Configurations

These are the properties used to configure the LDAP/Active Directory security manager. The properties in bold are required.

Property DescriptionActive Directory Sample ConfigurationOpenLDAP Sample Configuration
Connection URLldap server url

In-house

ldap://[your server]:[port, typically the default is 389 ]

Cloud - SSL installed on your LDAP server

ldaps://[your server]:[port, typically the default is 636]

In-house

ldap://[your server]:[port, typically the default is 389]

Cloud -SSL installed on your LDAP server

ldaps://[your server]:[port, typically the default is 636]

Connection User

User to connect to LDAP.

This user must have the proper permissions to read and run queries in the ldap server.

If using Active Directory, it is common to specify the domain.

Ex: an entry of TEST\Administrator refers to the user Administrator in the TEST domain.

[user name]
cn=admin,dc=test,dc=frevvo,dc=com
Connection PasswordPassword for the Connection user.[user password][user password]
Users Base

Searches for users will start from the ldap node specified by this property. 

If the value is empty the searches will start from the root domain.

CN=Users,DC=test,DC=windows,DC=frevvo,DC=comDC=test,DC=frevvo,DC=com
Groups Base

Searches for the groups will start from the ldap node specified by this property.

If the value is empty, searches will start from the root domain

CN=Users,DC=test,DC=windows,DC=frevvo,DC=comDC=test,DC=frevvo,DC=com
UserId Display

User attribute that will be visible in frevvo.

This is what will be displayed in the list of users a tenant admin sees and has to be unique in the server.

Another restriction is that the values for the attribute configured here cannot have spaces.

For instance, don't configure CN as the value since it can contain spaces in most systems.

sAMAccountNameuid
GroupId Display

Group attribute that will be visible in frevvo.

This is, for instance, what will be displayed in the list of groups a tenant admin sees or the groups used in workflows.

This attribute has to be unique in the server.

sAMAccountNameentryDN
Notify checkboxNotifications are emails sent by frevvo to workflows participants. If checked, notifications will be sent.Check the Notifications checkboxCheck the Notifications checkbox
All Groups Filter

The expected value is an LDAP filter expression.

The expression should return the groups that will have access to frevvo forms and workflows.

(objectClass=group)( | (objectClass=groupOfUniqueNames)(objectClass=organizationalRole))
All Users Filter

The expected value is an LDAP filter expression.

The expression should return the users that will have access to frevvo forms and workflows.

(objectClass=user)(objectClass=person)
User Member Of1Attribute on a user object storing the groups the user is a member of.memberOf" "
Group Member1Attribute on a group object storing the users that are a member of this group.memberuniqueMember
First Name

Name of the user ''first name'' attribute

givenNamecn
Last NameName of the user ''last name'' attribute.snsn
Email

Name of the user ''email'' attribute in the LDAP server.

This value can be used in a rule is used in email notifications

mailmail
Manager

Attribute on a user object storing the DN of the user’s manager. This value can be retrieved in a rule.

It can also be used in flow navigation using the subject.reports.to data available in .

managermanager
Ignore Case checkbox

If checked,  ignores the case stored in LDAP systems.

This is primarily for the purpose of determining roles.

Check the Ignore Case checkboxCheck the Ignore Case checkbox
CustomThis is a a comma separated list of attribute names to be retrieved from the LDAP Server.Ex: carLicense,employeeNumberEx: carLicense,employeeNumber
TLS

This enables simple authentication over TLS. If checked, a trusted certificate for the LDAP server is required.

Refer to the secure the connection topic for details.

Check if you are using TLS to secure the connection.  Check if you are using TLS to secure the connection

Authentication

Once you have your tenant successfully connecting with your LDAP server, users can login using the frevvo login page and frevvo will delegate authentication back to the LDAP/Active Directory server. See the example below. There is nothing more to do if you choose this option.

This is the case where the user will authenticate through the frevvo's login page but delegate authentication to LDAP. Let's assume that your tenant named 'LDAP' was successfully configured to connect to your LDAP server and there is a user 'john' in your LDAP server. You can now login directly via frevvo's login page:

 

The password provided in the login page is the user's password in LDAP. A very important point to note is that the user name, "john" in the example above, needs to match the value for the LDAP entry attribute configured in the property UserID Display field on the Edit Tenant screen. For instance, for Active Directory, the value of this property is normally sAMAccountName. That means frevvo will try to find an entry in LDAP that has sAMAccountName=john.

Mixed or Uppercase User Names

frevvo user names are case sensitive; the user name johndoe'' is not the same as JohnDoe. Several LDAP systems are case insensitive. Thus the two user names would resolve to the same LDAP account but to different frevvo user accounts.

To avoid case issues follow these steps described in more detail below:

The first issue occurs when the user logs in. For instance, John Stevens LDAP account is JStevens but he logs in as jstevens, he will be recognized by case insensitive LDAP and thus granted access but will not be recognized as a designer or as a tenant admin by frevvo. To solve this, check the Ignore Case checkbox on the LDAP Configuration screen. To prevent issues you could always login to frevvo using lower case jstevens. LDAP will grant access as it is case insensitive and frevvo will know that you may have the designer or admin special permission. However users can forget to do this. Setting Ignore Case in your LDAP security configuration will solve this. 

The second problem is in directing tasks to frevvo users if your LDAP user names are mixed case. One solution is to use hidden controls on your forms with rules to convert the case of user names to lower case. The example below shows two text controls on a form, one visible, EmployeeMixedCase, and the other hidden, Employee.

A user types a name (regardless of case) into the EmployeeMixedCase control. The hidden Employee control has a business rule that takes the value of the visible control and converts it to lowercase.

Employee.value = EmployeeMixedCase.value.toLowerCase(); 

The form or workflow routing can then use {Employee} rather than the control that may be mixed case. 

 Changing the case of LDAP userids in Active Directory can cause undesired results. Use caution.

Referrals