Проблема с предложенным вами решением веб-части на странице AllItems.aspx заключается в том, что существует несколько способов получить документ, и это не помешает кому-либо с прямым URL-адресом получить доступ к документу.
Вы хотите воспользоваться преимуществами структуры разрешений SharePoint. Если документы можно сгруппировать по безопасности, то вы можете создать одну библиотеку для каждого клиента (или одну папку в одной библиотеке) и установить разрешения на основе групп SharePoint для библиотеки / папки. Это может не сработать, если вам нужен один документ, доступный нескольким группам.
Другой вариант - установить ограничение безопасности библиотеки только для одной системной учетной записи. Затем вы можете написать веб-часть (или страницу приложения), которая проверяет IP-адрес пользователя, и, используя RunWithElevatedPermissions, вы можете получить содержимое библиотеки, которое применимо к этому пользователю. Это решило бы проблему прямой ссылки, потому что им пришлось бы пройти через вашу страницу, чтобы получить доступ к документам.