### Record-level security and column-level security

Record-level security (RLS) and column-level security (CLS) of JReport Designer allows you to control user access to different subsets of data, and ensures that people only see what they are supposed to see. This lets you provide different users with different, and appropriate contents.

Record-level security allows you to define which records are to be revealed to any given user. While, column-level security allows you to define which report column is revealed to any given user. No matter to whom you need to provide information, a plant manager or thousands of customers, JReport Designer allows you to control access to information according to your requirements.

JReport products have two types of the security policies, one is a security policy based on a data source connection (connection-scope security policy), and the other is a security policy based on a single report (report-scope security policy). In JReport Designer, record-level security and column-level security are both based on the data source connection, which means that you do not have to set security information for each report.

- Connection-scope security
  You can build connection-scope security policies: where each security policy refers to a data source connection in the catalog. If you want to implement the same security policy in a group of reports, you can simply apply an existing security policy to the report, without having to repeatedly build security information for each report. Both RLS and CLS can be connection-scope security.
- Report-scope security
  Additionally, record-level security can be of report scope, based on the security information file. That is, you can use the security information file to set the security policies for a report. Report-scope security policy doesn't support column-level security.

Record-level security can be applied simultaneously to both connection and report scopes. Note that, if a report-scope security policy has already been applied to a report, it will override a connection-scope security policy applied to the data source connection. That is, report-scope security policies have a higher priority than connection-scope security policies.

#### Running reports with record-level/column-level security

After setting up the security policy for a report in JReport Designer, you can then publish it to JReport Enterprise Server as normal. Then, when you log onto the server as different users, you will find that the security settings are applied to the report. That is, different users will only see the data they are supposed to see.

Note: The user defined users and roles may not be recognized by JReport Enterprise Server. If your security policies contain such users/roles, create these users and roles respectively in JReport Enterprise Server, and then in JReport Designer, synchronize the security information with JReport Enterprise Server using the Merge option.

See also Record-level and column-level security in the JReport Designer User's Guide for details about how to set up record-level/column-level security policies and apply them to reports in JReport Designer.