Если вы можете, я предлагаю запускать веб-сервис от имени пользователя, обладающего соответствующими полномочиями. Конечно, это будет зависеть от того, как именно ваши пользователи проходят аутентификацию, но это вариант.
Вот как мы это делаем (добавлено в web.config веб-службы):
<identity impersonate="true" userName="registry:HKLM\Software\OurApp\ASPNET_SETREG,userName" password="registry:HKLM\Software\OurApp\ASPNET_SETREG,password"/>
Мы используем утилиту aspnet_setreg для записи имени пользователя и пароля домена в реестре, и этот пользователь отвечает за все взаимодействия с базой данных и т. Д.