Contents
Creating user filters
|
To create a user filter, click on
Create user filter.
Name
The name to give to this user filter.
Description
An optional description for the user filter.
Login service
The login service for which the fitler is to be created. Only for users who log in via the selected login service does this user filter and thus the configured authorization within the client take effect. The login service determines how the filter is to be configured. See Filter configuration.
Filter type
Specifies the type of the filter. The filter type determines how it is to be configured. See Filter configuration. The filter type is selectable only for login services of type LDAP and Kerberos.
Filter configuration
There are three types of user filters by default:
LDAP filter
LDAP filters can be configured only for LDAP and Kerberos type login services. For LDAP filters, a user search request is made to the LDAP server based on the configured filter. The following information is required for the configuration of:
- BaseDN: Represents the root to search for user objects on the LDAP server.
- Filter-Abfrage: an optional filter query to apply further restrictions within the set of user objects of the LDAP server (Tutorial)
The Group search button lists all groups available on the LDAP server within the given BaseDN. This list can be further filtered via the search field and with a click on an entry the filter query is preset.
|
Only users, the LDAP filter applies to, are assigned to this user configuration and thus to the authorization within the client.
LDAP filters behave the same way as LDAP groups from previous formcycle versions.
Profile condition
This filter type is available for all login services including plugin login services. Here, multiple conditions can be defined on properties of the user profile and how these conditions should be logically linked. The properties of the logged in user profile are available as a JSON structure. To check properties, the JSON path to them is selected (see Conditions below).
- Connection: the connection specifies how the configured individual conditions are to be logically linked to each other. Three options are available:
- All must apply (AND): All configured conditions must apply in order for the logged-in user to be assigned this user configuration and thus authorization within the client.
- One or more must apply (OR): At least one of the configured conditions must apply in order for the logged-in user to be assigned this user configuration and thus authorization within the client.
- User-defined connection: For complicated cases, this option allows one to enter any logical links of the configured conditions. By default, the conditions are evaluated from left to right. By using brackets, the order of evaluation can also be influenced. The conditions to be used must be inserted as follows:
- cN: A condition, for example c1 or c3. The names of the conditions are always in the heading of the condition. For a better overview, the names of the conditions can also be changed by clicking on them.
- not: negation, which must precede the value to be negated. For example:
- c1 and not c2
- c1 or not (c2 and c3)
- and: AND operation, which is true if both concatenated values are true. For example:
- c1 and c2
- c1 and not c2 and c3
- or: OR operation, which is true if one of the two concatenated values is true. For example:
- c1 or c2
- c1 or c2 or not c3
- false, true: These two constants represent the logical values false and true.
- xor, nand, nor, implies, impliedby, equiv, unequiv: Represents, in this order, the logical operators Contravalence, Alternative Negation, Common Negation, Material Implication, Opposite Implication, Material Equivalence, and Nonequivalence.
- Conditions: Any number of conditions can be specified. A condition can check exactly one profile property.
- JSON path to the property
The JSON path selects a property of the profile and thus a part of the JSON object that represents the profile of the logged in user. A condition can then be checked on this property/part of the JSON object. The selected property can take different forms, namely all valid JSON data types:- String: A sequence of characters that represents a testable property.
- Number: A number that represents a testable property.
- Object (JSON object): represents a complex property of the profile. As a rule, no condition can be meaningfully checked for JSON objects. So the JSON path should be extended to select a testable sub-property of the object.
- Array: a set of additional elements / properties. The elements of the array can be any of the valid JSON data types. As a rule, however, testing only makes sense with arrays whose elements are of type String, Number or Boolean. If this is not the case, then the JSON path should be refined to select a testable attribute. For arrays, usually only the conditions Empty, Not empty, Contains and Does not contain can be used meaningfully.
- Boolean: can have the value true or false and represents a testable property.
- Condition: Condition to test. The following options are available for selection:
- empty
- not empty
- equal
- not equal
- contains
- does not contain
- greater than
- greater than or equal to
- less than
- less than or equal to
- starts with
- does not start with
- ends with
- does not end with
- matches regexp
- does not match regexp
- Value to compare ageainst: The value of the selected condition used for the check. Visible if Empty or Not Empty is not selected as the condition.
- JSON path to the property
Please note that certain conditions must be used for certain constellations. For example, when comparing with an array, the ‘Contains’ condition must be used instead of the ‘Equal’ condition, even if there is only one element in the array.
|
Only users whose profiles match the individual conditions ind the selected link are assigned to this user configuration and thus to the authorization within the client.
Examples of filter configurations
The following examples are intended to check whether you belong to a group with a specific name. The check is carried out using JSON path notation.
Example data from a Microsoft Entra ID (e. g. with OIDC) login:
|
|
Example data from a Microsoft Active Directory login:
|
|
Microsoft Entra ID filter
Microsoft Entra ID filters can only be configured by Microsoft Entra ID login services. The Entra ID filter is very similar to profile conditions and can also be configured in the same way as profile conditions by specifying conditions on JSON paths. However, in addition, it is possible to define conditions on known properties of Entra ID profiles:
- User groups: This profile property represents the list of user groups of which the user is a member. When this property is selected, suggestions of existing user groups appear in the comparison value field. This profile property is available only if the selected Microsoft Entra ID login service has the "Query full group information" option enabled. In addition, the Group.Read.All application permission must be granted in order for formcycle to make suggestions based on the Entra ID tenant's user groups.
|
- Manager: This profile property represents the manager of the user. When this property is selected, suggestions of existing users appear in the comparison value field. This profile property is available only if the selected Microsoft Entra ID login service has the "Query manager" option enabled. Also, the User.Read.All application permission must be granted for formcycle to make suggestions based on Entra ID tenant users.

|
Plugin filter
It is also possible that plugin login services provide additional user filter extensions.
Testing user configurations:
User configurations and their set conditions (profile conditions, Entra ID) or filters (LDAP filters) can be tested with a user login by clicking the "Test user configuration" button. After clicking the button, a prompt for entering a user login appears. After successful login, the profile information of the user is displayed in JSON form and above it, whether the authorization of this user configuration was successful or not, i.e. whether the selected conditions / filters are effective for the user or not.
Authorization configuration
The configuration of authorization within formcycle is described in the article Users under Authorization Configuration. Please also note the following information:
For user filters, role selection is not available if the selected login service has not been configured for the management interface.
Editing / deleting user filters
User filters with client admin role:
- Editing: Can be edited only by the SAdmin or users with the role permissionEdit administrators.
- Deleting: Can be deleted only by the SAdmin or users with the role permission Edit administrators.
User filters without client admin role:
- Editing: Can always be edited.
- Deleting: Can always be deleted.
Was this article helpful?
That’s Great!
Thank you for your feedback
Sorry! We couldn't be helpful
Thank you for your feedback
Feedback sent
We appreciate your effort and will try to fix the article









Test result of a user configuration with successful authorization result.