Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Section
Column

It is assumed that you have an in-house installation of up and running or you have requested an LDAP tenant in the cloud from frevvo customer support.

Info

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

Image Removed

Column
width240px

On This Page:

Table of Contents
maxLevel2

Configuring and LDAP/Active Directory 

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

  1. Create a tenant with the LDAP/Active Directory Security Manager class.
  2. Once you have your tenant successfully connecting with your LDAP server, review the available options regarding the authentication process.

Key Information to Collect

...

  • 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  designers. These users will be able to create forms and flows in frevvo.
  • LDAP groups and users that will be considered  administrators.
  • LDAP groups and users that will be considered  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.

Prerequisite Tasks

These instructions assume that you have an in-house installation of Live Forms up and running or you have signed up for an LDAP tenant on the cloud server.

  1. Log into your LDAP Server and add a new group, frevvo.TenantAdmin (case sensitive)
  2. Assign the frevvo.TenantAdmin group to one or more users to give them the privileges of a tenant admin. 

    Note

    There are four special roles in : frevvo.TenantAdmin, frevvo.Designer, frevvo.Publisher, frevvo.ReadOnly, that must be specified on your LDAP/AD Server if you have users that will be assigned these roles. The group names must be frevvo.TenantAdmin, frevvo.Designer, frevvo.Publisher, frevvo.ReadOnly . Upper/lower case may be a factor for Open LDAP systems. 

The connection to your LDAP server is configured at the tenant level. Existing in-house customers using LDAP should refer to the  Upgrade Guide for a quick way to import your current LDAP configuration parameters before migrating. in-house customers can add an LDAP tenant and configure the LDAP paramaters via the Add Tenant screen. LDAP properties can be updated at anytime via the Edit Tenant screen.

Info

If you are a new in-house LDAP customer, use the Add Tenant screen to configure the LDAP tenant. If you are an existing LDAP customer, the  migration process copies any existing LDAP configuration from the frevvo.xml or config properties files to the tenant. Once migrated,  updating frevvo.xml has no effect on the tenant configuration. Make changes using 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 Live Forms up and running or you have signed up for an LDAP tenant on the cloud server.

  1. In-house customers:

...

Enter your LDAP Configuration Properties. 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.

Note

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

Setting the java.naming.referral property to a value of "ignore" in the Name/Value table configures Consult your LDAP Administrator for the details.You will have to set the ‘java.naming.referral’ property to value ‘ignore’ in the Name/Value table of your Edit Tenant page.

...

    1. Contact frevvo to create an LDAP/Active Directory tenant. Login with the id and password information provided by frevvo.
    2. Click on the Edit tenant link
    3. Edit the LDAP Configuration Properties. Replace the default values with values for your LDAP server.
    4. Click Submit. 

 

Warning

It is recommended that you check the Ignore Case checkbox when configuring LDAP. Refer to Mixed or Upper case User Names topic for more details.

 

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:
 

...

Image Removed

Check if the configuration is correct

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

  1. Login as the  tenant admin for the LDAP tenant.
  2. Click on the Manage Users link.
  3. Click All. You should see a list of LDAP users which were assigned one of these 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  (you should be currently logged in as the tenantadmin)
  7. Try to login 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 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.

Secure LDAP Configuration

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 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.

Note

Self signed certificates are not supported for Live Forms Online. Although they are supported for 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  can access and trust. Follow the instructions for your keystore. If  is installed in a tomcat server, the tomcat keystore can be used. Refer to this Apache Tomcat website for instructions .

External SASL and pooling are currently not supported. This is planned for a later release. 

LDAP Configuration Properties

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

Expand
titleClick here for a list of properties and to see which ones are required:
Property Description
Connection URLldap server url
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. For instance, TEST\Administrator refers to the user Administrator in the TEST domain.

Connection PasswordPassword for the user defined in com.frevvo.security.ldap.connection.name.
Users BaseSearches 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.
Groups BaseSearches 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
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.

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.

 

Notify checkboxNotifications are emails sent by frevvo to workflows participants. If checked, notifications will be sent.
All Groups Filter

The expected value is an LDAP filter expression.

The expression should return the groups that will be available to be used in frevvo workflows. com.frevvo.security.ldap.groupIdDisplayAttribute

All Users Filter

The expected value is an LDAP filter expression. The expression should return the users that will be available to be used in frevvo work flows and authentication. com.frevvo.security.ldap.groupIdDisplayAttribute

User Member OfAttribute on a user object storing the groups the user is a member of.
Group MemberAttribute on a group object storing the users that are a member of this group.
First Name

Name of the user ''first name'' attribute

Last NameName of the user ''last name'' attribute.
Email
Name of the user ''email'' attribute in the LDAP server. This value can be used in a rule is used in email notifications
ManagerAttribute on a user object storing the DN of the user’s manager. This value can be retrieved in a rule or used in flow navigation using the subject.reports.to data available in .
Ignore Case checkboxIf checked,  ignores the case stored in LDAP systems, primarily for the purpose of determining roles.
CustomThis is a a comma separated list of attribute names to be retrieved from the LDAP Server.
TLSThis enables simple authentication over TLS. If checked, a trusted certificate for the LDAP server is required.

Sample Configurations

 
Expand
Section
Column

It is assumed that you have an in-house installation of up and running or you have requested an LDAP tenant in the cloud from frevvo customer support.

Info

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

Image Added

Column
width240px

On This Page:

Table of Contents
maxLevel2

Prerequisite Tasks

These instructions assume that you have an in-house installation of Live Forms up and running or you have signed up for an LDAP tenant on the cloud server

Warning

Active Directory Customers using LDAP must ensure that frevvo.User, 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. 

  • All users requiring access to Live Forms must be assigned to the frevvo.User group. 
  • Tenant admin users must be assigned to the frevvo.User and frevvo.TenantAdmin groups,
  • Designer users must be assigned to the frevvo.User and frevvo.Designer groups.
  • Users with the frevvo.publishers role must be assigned to the frevvo.Publisher and frevvo.User groups on your LDAP/AD Server.
  • Users with the frevvo.ReadOnly role must be assigned to frevvo.ReadOnly and frevvo.User groups on your LDAP/AD Server.


Configuring and LDAP/Active Directory 

users and groups can be maintained externally in systems such as Active Directory or Open LDAP.  Follow these steps to integrate  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 proces 

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  designers. These users will be able to create forms and flows in frevvo.
  • LDAP groups and users that will be considered  administrators.
  • LDAP groups and users that will be considered  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.

The connection to your LDAP server is configured at the tenant level. in-house customers can add an LDAP tenant and configure the LDAP paramaters via the Add Tenant screen. LDAP properties can be updated at anytime via the Edit Tenant screen.

Info

If you are a new in-house LDAP customer, use the Add Tenant screen to configure the LDAP tenant. If you are an existing LDAP customer, the migration process copies any existing LDAP configuration from the frevvo.xml or config properties files to the tenant. Once migrated,  updating frevvo.xml has no effect on the tenant configuration. Make changes using 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 Live Forms up and running or you have signed up for an LDAP tenant on the cloud server.

  1. In-house customers:
    1. Login to  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 Image Addedplus icon to add a new tenant.
    5. Configure the new tenant:
      1.  Choose LDAP/Active Directory Security Manager.from the Security Manager Class drop down.

        Image Added

      2. Enter your LDAP Configuration Properties. 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.

        Note

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

        Setting the java.naming.referral property to a value of "ignore" in the Name/Value table configures to ignore referrals. Consult your LDAP Administrator for the details. For existing tenants, these properties are added when you Edit your tenant.

      3. Enter a tenant id, a tenant name and description.
      4. The Max Concurrent Users is the maximum allowed by your license or less.
      5. Specify the LDAP User ID that will have the tenant admin permission. 
      6. Click Submit. You will see your new tenant in the tenant list if the connection to your LDAP server is successful.

  1. Cloud customers:
    1. Contact frevvo to create an LDAP/Active Directory tenant. Login with the id and password information provided by frevvo.
    2. Click on the Edit tenant link
    3. Edit the LDAP Configuration Properties. Replace the default values with values for your LDAP server.
    4. Click Submit. 

 

Warning

It is recommended that you check the Ignore Case checkbox when configuring LDAP. Refer to Mixed or Upper case User Names topic for more details.

 

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:
 
Image Added

Here is another example if the connection password is incorrect:

Image Added

Check if the configuration is correct

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

  1. Login as the  tenant admin for the LDAP tenant.
  2. Click on the Manage Users link.
  3. Click All. You should see a list of LDAP users which were assigned one of these 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  (you should be currently logged in as the tenantadmin)
  7. Try to login 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 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.

Secure LDAP Configuration

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 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.

Note

Self signed certificates are not supported for Live Forms Online. Although they are supported for 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  can access and trust. Follow the instructions for your keystore. If  is installed in a tomcat server, the tomcat keystore can be used. Refer to this Apache Tomcat website for instructions .

External SASL and pooling are currently not supported. This is planned for a later release. 

LDAP Configuration Properties

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

Expand
titleClick here for a list of properties and to see which ones are required:

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

LDAP Configuration Properties

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

Property Description
Connection URLldap server url
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. For instance, TEST\Administrator refers to the user Administrator in the TEST domain.

Connection PasswordPassword for the user defined in com.frevvo.security.ldap.connection.name.
Users BaseSearches 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.
Groups BaseSearches 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
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.

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.

 

Notify checkboxNotifications are emails sent by frevvo to workflows participants. If checked, notifications will be sent.
All Groups Filter

The expected value is an LDAP filter expression.

The expression should return the groups that will be available to be used in frevvo workflows. com.frevvo.security.ldap.groupIdDisplayAttribute

All Users Filter

The expected value is an LDAP filter expression. The expression should return the users that will be available to be used in frevvo work flows and authentication. com.frevvo.security.ldap.groupIdDisplayAttribute

User Member OfAttribute on a user object storing the groups the user is a member of.
Group MemberAttribute on a group object storing the users that are a member of this group.
First Name

Name of the user ''first name'' attribute

Last NameName of the user ''last name'' attribute.
Email
Name of the user ''email'' attribute in the LDAP server. This value can be used in a rule is used in email notifications
ManagerAttribute on a user object storing the DN of the user’s manager. This value can be retrieved in a rule or used in flow navigation using the subject.reports.to data available in .
Ignore Case checkboxIf checked,  ignores the case stored in LDAP systems, primarily for the purpose of determining roles.
CustomThis is a a comma separated list of attribute names to be retrieved from the LDAP Server.
TLSThis enables simple authentication over TLS. If checked, a trusted certificate for the LDAP server is required.

Sample Configurations

Expand
titleClick here for Sample Configurations:
Property Active Directory Sample Configuration

OpenLDAP Sample Configuration

Connection URL

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

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

Connection User

[user name]

cn=admin,dc=test,dc=frevvo,dc=com
Connection Password

[user password]

[user password]

Users Base

CN=Users,DC=test,DC=windows,DC=frevvo,DC=com

DC=test,DC=frevvo,DC=com

Groups Base

CN=Users,DC=test,DC=windows,DC=frevvo,DC=com

DC=test,DC=frevvo,DC=com

UserId Display

sAMAccountName

uid

GroupId Display

sAMAccountName

entryDN

Notify checkbox

Check the Notifications checkbox

 
All Groups Filter

(objectClass=group)

( | (objectClass=groupOfUniqueNames)(objectClass=organizationalRole))

All Users Filter

(objectClass=user)

(objectClass=person)

Group Member

member

uniqueMember

 User Member Of

memberOf

" "

 First Name

givenName

cn

 Last Name

sn

sn

 Email

mail

mail

Manager

manager

manager 

Ignore CasCheck the Ignore Case checkboxCheck the Ignore Case checkbox
CustomcarLicense, employeeNamecarLicense
TLSCheck to secure the connection using TLSCheck to secure the connection using TLS

Options for Authentication

Once you have your tenant successfully connecting with your LDAP server, there are two options available regarding the authentication process.

...

This is the case where the user will authenticate through the 's login page but delegate authentication to LDAP. Lets 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 's login page:

 

...

Please also refer to the force auth property for forms and flows. Force auth lets you override SSO for an individual form or flow.

Info

If you are using LDAP and SSO, and you want to embed the in your website, refer to this topic for some important information.

Once all is configured and running it is possible to test these scenarios:

...

The user will automatically authenticate to . It is crucial that the LDAP user is known to , in other words, the user should be one of the entries retrieved by the LDAP expression configured in the All Users Filter on the LDAP configuration screen.

Signing in from outside the network

...

Info

 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  user accounts.

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

  1. Check the Ignore Case checkbox on the LDAP Configuration screen
  2. Convert control values to lower case if they are used in workflow routing to a specific user.

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 . To solve this, check the Ignore Case checkbox on the LDAP Configuration screen. To prevent issues you could always login to  using lower case jstevens. LDAP will grant access as it is case insensitive and  will know that you may have the designer or admin special permission. However users can forget to do this. Setting IgnoreSetting Ignore Case in your LDAP security configuration will solve this. 

The second problem is in directing tasks to  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.

...

LDAP administrators can configure to ignore or follow referrals by entering the LDAP property name and value in the table provided on the Add Tenant (on-premise) or Edit Tenant (cloud) screens.

...