Можно ли применить права только для чтения, используя код System.Data.SqlClient
для доступа к базе данных Sql Server?
Я хочу разрешить доверенным пользователям писать свои собственные операторы SELECT на веб-сайте.
НЕТ, я здесь не троллю! Очевидными решениями являются создание в базе данных только для чтения пользователя и использование этих учетных данных в строке подключения, и, конечно, только идиот принимает оператор SQL на веб-странице. Это проблема пользовательского развертывания, я не доверяю кому-то другому, чтобы правильно настроить его, и не хочу писать код, проверяющий, что строка подключения только для чтения доступна только для чтения.
Одним из решений было бы проанализировать SQL и убедиться, что это команда только для чтения, или сделать что-то подобное. Я хочу сделать что-то вроде:
SqlConnection conn = new SqlConnection(myConnectionString, Flags.Readonly)
обновление
Учитывая строку подключения с привилегиями SA, «создать пользователя бла с паролем = xxx», «использовать my-db», «создать логин бла», «предоставить выбор на mytable to бла». Затем создайте новую строку подключения.