|
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.
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.
|
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:
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.
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.
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 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. |
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 flows are sent or not. |
Here are some quick tests to check if the LDAP configuration is correct:
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.
A Tenant admin can login directly to frevvo or login with a user id who 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 this account to login to your tenant as a tenant admin in order to fix your configuration issue. The built-in admin is able to access the 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 admin: <base_URL>/frevvo/web/admin/login. When specified, will prepend the base URL to the URLs in your Form/Document Actions. The <base_URL> is typically http(s)://<your servername>:<port>.
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 setup. If you have forgotten the password, you can change it by :
What if you do not remember the userid of your original tenant admin? Follow these steps:
will be connecting to your LDAP server over the network. Here are two methods to secure the LDAP connection:
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 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.
These are the properties used to configure the LDAP/Active Directory security manager. The properties in bold are required.
Property | Description | Active Directory Sample Configuration | OpenLDAP Sample Configuration |
---|---|---|---|
Connection URL | ldap 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 Password | Password for the Connection user. | [user password] | [user password] |
Users Base | Searches for users will start from the ldap node specified by this property.I f the value is empty the searches will start from the root domain. | CN=Users,DC=test,DC=windows,DC=frevvo,DC=com | DC=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=com | DC=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. | sAMAccountName | uid |
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. | sAMAccountName | entryDN |
Notify checkbox | Notifications are emails sent by frevvo to workflows participants. If checked, notifications will be sent. | Check the Notifications checkbox | Check 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 work flows. | (objectClass=user) | (objectClass=person) |
User Member Of1 | Attribute on a user object storing the groups the user is a member of. | memberOf | " " |
Group Member1 | Attribute on a group object storing the users that are a member of this group. | member | uniqueMember |
First Name | Name of the user ''first name'' attribute | givenName | cn |
Last Name | Name of the user ''last name'' attribute. | sn | sn |
Email | Name of the user ''email'' attribute in the LDAP server. This value can be used in a rule is used in email notifications | ||
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 . | manager | manager |
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 checkbox | Check the Ignore Case checkbox |
Custom | This is a a comma separated list of attribute names to be retrieved from the LDAP Server. | Ex: carLicense,employeeNumber | Ex: 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 |
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:
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 will try to find an entry in LDAP that has sAMAccountName=john.
In this scenario, a user authenticates to his windows account and tries to use . Since the user is already authenticated to the network, will recognize his credentials and automatically forward the user to his account, if he is a designer, or allow the user to use a form/flow if those resources are available to the tenant.
The basic deployment is IIS fronting and the authentication is done against LDAP. For that to work you need to:
Please also refer to the force auth property for forms and flows. Force auth lets you override SSO for an individual form or flow.
If you are using LDAP and SSO, and you want to embed the in your website, refer to Embedding the Task List for important information. |
Once all is configured and running it is possible to test these scenarios:
In this case, the server and the Active Directory server are running on the same network. The user is already authenticated to the windows network and points the browser to:
http://[server]/frevvo/web/tn/[LDAP tenant]/login |
Substitute LDAP tenant above with the tenant name you configured with the LDAP Security Manager. The server variable should be the ip address of the machine where IIS is installed .
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.
In this case, the server and the Active Directory server are running on different networks. The user is trying to hit the URL below from outside the network.
http://[server]/frevvo/web/tn/[LDAP tenant]/login |
Substitute LDAP tenant above with the tenant name you configured with the LDAP Security Manager and the server variable with the ip address of the machine where IIS is installed.
Since the user is not authenticated in the windows Network, he will be prompted by the browser for credentials. IIS will authenticate the user in the network and forward the request to . The user will be automatically redirected to his initial page without having to re-enter his credentials.
If you are still being prompted for Windows authentication after SSO is configured, the security settings for your browser may be too high. Configure your browser to authenticate using the "system logon credentials" (Kerberos authentication mechanism) by adding the frevvo server to the browser's trusted sites.
Follow these steps for the specified browsers:
If you are using either the IisLoginModule or NtlmLoginModule option, your Internet Explorer users may want to modify their browser settings. By default, Internet Explorer will only allow automatic login for sites in its Intranet zone. For sites not included in the specified Intranet Zones, a windows dialog box will popup requesting login information. This popup can be avoided by having your users modify their Intranet Zone settings as described below.
IE will recognize a site as being in its Intranet zone in one of two ways.
1. The name of the server that you are accessing does not have a dot in the name. For example, http://frevvoserver/.
2. The site is configured as an Intranet site for IE.
To configure the Intranet sites for IE,
If you are using either the IisLoginModule or NtlmLoginModule option, your Firefox users may want to modify their browser settings. By default, Firefox will prevent automatic login. Browsing the frevvo SSO URL will cause a windows dialog box to popup requesting login information. This popup can be avoided by having your users modify their Firefox settings as described below.
To configure chrome you need to start the application with following parameter: auth-server-whitelist - <Allowed fully qualified domain name>.
For example: In Windows,
No additional configuration is needed.
Add the frevvo.internal.baseurl and the frevvo.forms.server.external.url properties to the frevvo-config.properties when using LDAP SSO. The frevvo.internal.baseurl property is needed for for various activities like accessing the ACL page, publishing templates, resetting tasks etc. Let's say you have a browser signed in via SSO to machine m1 (port 80). IIS is running on m1 (port 80) redirecting /frevvo/web to frevvo running on m2:8082. The browser submits a form to m1, IIS redirects to m2:8082. The doc action is a frevvo:// URI which gets resolved to http://m1/frevvo/... POSTs to this URI but m1 rejects the POST since it is not authenticated.
To avoid situations such as these, set the frevvo.internal.baseurl to the actual host:port of the server.
If the frevvo.forms.server.external.url property is set, all share dialogs for forms and flows will use this as the external URL. This may be needed when using frevvo.forms.server.external.url if that external url is not also accessible from the form server machine. Use the syntax shown in the example. change the <myexternalhost>and <port> to your external server name and the port that you are using for on this server.
Follow these steps:
frevvo.internal.baseurl=http:// <ip or server name of the machine where the frevvo server is hosted>:<port> frevvo.forms.server.external.url=http://<myexternalhost>:<port> |
If your system is configured for LDAP SSO, the upload control exhibits the following behaviors:
To workaround this issue, configure IIS so that it does not require re-authentication for every single request.
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:
|
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 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.
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. |
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.