#### Implementing the security API using an .xml file

You can specify a customized implementation of the security API in a .xml file. The JReport Enterprise Server loads classes according to this file.

The file is customizedAPI.xml in `<install_root>\bin`. Specify the content in the .xml file as below:

    <?xml version="1.0" encoding="UTF-8"?>

    <jreport-customized-api>
    <security>
    <authentication-provider>com.customer.security.AuthenticationProviderImpl</authentication-provider>
    <authorization-provider>com.customer.security.AuthorizationProviderImpl</authorization-provider>
    <user>
    <provider>com.customer.security.user.UserProviderImpl</provider>
    <permission-provider>com.customer.security.user.UserPermissionProviderImpl</permission-provider>
    <privilege-provider>com.customer.security.user.UserPrivilegeProviderImpl</privilege-provider>
    </user>
    <group>
    <provider>com.customer.security.group.GroupProviderImpl</provider>
    <permission-provider>com.customer.security.group.GroupPermissionProviderImpl</permission-provider>
    <privilege-provider>com.customer.security.group.GroupPrivilegeProviderImpl</privilege-provider>
    </group>
    <role>
    <provider>com.customer.security.role.RoleProviderImpl</provider>
    <permission-provider>com.customer.security.role.RolePermissionProviderImpl</permission-provider>
    <privilege-provider>com.customer.security.role.RolePrivilegeProviderImpl</privilege-provider>
    </role>
    <relation>
    <role-group>com.customer.security.relation.RoleGroupRelationProviderImpl</role-group>
    <role-user>com.customer.security.relation.RoleUserRelationProviderImpl</role-user>
    <group-user>com.customer.security.relation.GroupUserRelationProviderImpl</group-user>
    </relation>
    </security>
    </jreport-customized-api>