public with sharing class customController {

with sharing キーワードを使用すると、プラットフォームはすべてのレコードに完全アクセス権限を付与するのではなく、現在ログインしているユーザのセキュリティ共有権限を使用します。

当然ユーザの操作データに対して、権限が必要なります。​

with sharning がない場合、権限は一切必要ありません。