Table of Contents

Modules overview

There are several custom modules to be installed along with CzechIdM. Modules often have really similar structure consisting of:

Also, you can generate a module of your own by modifying any one of multiple areas of interest while developing a module:

Core filters

All core filters have order 0.

Overriding a filter in a custom module

The application has a mechanism for dynamic registry and composing of filters for searching the data in IdM (identities, roles, tree structure components, etc.). A new filter can be registered for existing REST services in any module. Behavior of filters can be overrriden.
When you add a new filter with order 10, a default filter is still used, because all core filters have order 0, and the smallest order wins. That is all we need in most cases. Usually, you don't mean to change default behavior, but you want to be able to configure which one of the filters is used explicitly ⇒ choose one implementation.

Go to the application configuration page (or to application.property file) and set the property value:

idm.sec.core.filter.IdmIdentity.username.impl=exampleUsernameIdentityFilter
If you add a new filter with order 10, the default filter is still used, since all core filters have order 0 (the smallest order wins)