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
 }