Я ищу хороший способ сохранить права на добавление данных в базу данных в приложении C # и SQL Server 2005.
Мне нужно объяснить, хотя, чтобы прояснить это. Итак, давайте возьмем пример этого:
У меня есть два пользователя Bob
и Jim
, оба были добавлены в разрешения SQL, чтобы у них был доступ на запись в базу данных. Теперь весь доступ основан на учетных записях пользователей домена. Все остальные пользователи имеют доступ только для чтения.
Теперь у меня есть пара таблиц, таких как:
- Пользователи
- UserPermissions
- Книга
- BookPublishers
Итак, UserPermissions
содержит список пользователей и книгоиздателей. Так, например: Bob
имеет разрешение на добавление книг для MS Press
, а Jim
имеет разрешение на добавление книг для O'Reilly
.
Теперь мне нужно проверить эту информацию и ограничить то, что они могут добавить.
Так сказать, Jim
использует мое приложение из командной строки, и он пишет что-то вроде:
Addbook.exe "C# 3.0 in a Nutshell" "O'Reilly"
Инструмент должен пойти дальше и добавить книгу в таблицу книг.
Теперь, скажем, Bob
пробует ту же команду, инструмент должен выдать ошибку, поскольку у него нет разрешения на добавление книг по O'Reilly
.
Прямо сейчас мне нужно знать, как сделать пару вещей.
- Убедитесь, что у пользователя сначала есть разрешение на запись на SQL Server
- Убедитесь, что у пользователя есть разрешение на запись для добавления
books
конкретным издателем
- Кроме того, мне нужно убедиться, что вышеприведенное верно, прежде чем инструмент действительно попытается добавить данные, т. Е. Прежде чем инструмент продолжит работу, мне нужно получить подтверждение о проверке
Теперь я не на 100% беспокоюсь о том, что пользователь вводит вредоносные данные, хотя было бы неплохо это остановить, но это внутренний инструмент, и я полагаю, что могу доверять пользователям ... (возможно)
В любом случае, я не знаю, с чего начать, моим навыкам SQL очень не хватает.
Akk, последнее, я не хочу добавлять данные с использованием процедур хранилища.