With sharing Keywords in Salesforce:
• By default, all Apex executes under the System user, ignoring all CRUD, field-level, and row-level security
• However, it is possible to execute Apex with just the rows available to the operating user through the sharing model.
– This is done using the keywords with sharing on a class.
• Methods and inner classes inherit the usage of the outer class.
• However, further method calls made to other classes from within a with sharing class with run as System unless they have their own with sharing declaration.
– Note that all CRUD and field-level security restrictions will still be ignored.
For example:
public with sharing class sharingClass {
// Code here
}