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

The record-level security (RLS) and column-level security (CLS) of JReport Designer allow you to control user access to different subsets of data and ensure that people only see what they are supposed to see: 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. This enables you to provide different users with accordingly different, but appropriate contents. 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 Designer 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).

- 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. However, if a report-scope security policy has already been applied to a report, it will override a connection-scope security policy applied to the report. 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 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 report designer defined users and roles may not be recognized by JReport Server. If your security policies contain such users/roles, create these users and roles respectively in JReport Server, and then in JReport Designer, synchronize the security information with JReport 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.