#### Partial Implementation of the security API

The security API can meet various requirements for seamlessly integrating the JReport security system into an existing external security system.

By implementing all interfaces, you provide full functions to the JReport Enterprise Server security system. However, if you do not want to provide a complete security system to your JReport Enterprise Server, but only to use part of the functions available, you can achieve this by implementing the interfaces that meet your requirements.

Here are some examples:

Example 1

Requirements: You only want to customize authentication and authorization.

The following interfaces are required to be implemented:

- AuthenticationProvider
- AuthorizationProvider

Example 2

Requirements: You want to customize authentication and users, while the JReport Enterprise Server maintains other functions of the security system.

The following interfaces are required to be implemented:

- AuthenticationProvider
- UserProvider

Example 3

Requirements: For CLS/RLS scenario, you must provide user/role information.

The following interfaces are required to be implemented:

- AuthenticationProvider
- UserProvider
- RoleProvider
- RoleUserRelationProvider