Учетные данные ASP.NET для SQL Server - PullRequest
1 голос
/ 18 декабря 2011

В настоящее время я работаю над преобразованием приложения Windows для настольных ПК в веб-сайт / приложение.Структура данных для всего приложения хранится в базах данных SQL Server.Каждая база данных представляет отдельную «библиотеку».У одного клиента может быть много разных «библиотек» (баз данных), и я собираюсь разместить множество установок клиентов на одном веб-сервере.

Это будет интернет-сайт, поэтому я настоятельно рекомендую использовать предоставляемые Microsoftуправление учетной записью пользователя для доступа к сайту.Я думаю, что тогда я бы предоставил доступ на уровне администратора, который позволил бы пользователю получить права доступа к определенной базе данных.(т.е. по умолчанию создание учетной записи пользователя с помощью механизмов Microsoft не даст никакой реальной функциональности.)

Доступ пользователя будет иметь следующие общие уровни:
1. Доступ для чтения (без этогопользователь даже не должен знать, что библиотека существует)
2. Вставить доступ (пользователь может добавлять записи в систему)
3. Редактировать доступ (пользователь может изменить данные записи)
4. Удалить доступ(как вы думаете, что это делает:)?)
5. Доступ администратора (пользователь может изменять атрибуты других пользователей)

Я рассматриваю модель, в которой на сайте есть одна учетная запись, которая обрабатываетвсе взаимодействия SQL Server.Таким образом, весь код для обработки разрешающих / запрещающих уровней доступа 1–5 выше будет обрабатываться кодом на страницах моего веб-сайта, а не управлением учетными записями пользователей SQL Server.

Я думаю, что у меня будет одна центральная база данных, которая будет содержать все имена пользователей и к каким библиотекам их учетная запись имеет (как минимум) доступ для чтения (доступ уровня 1 сверху).Затем уровни 2–5 будут храниться в каждой базе данных для этого пользователя и этой базы данных.

Мне задаются два вопроса:

  1. Является ли такой подход разумным?Я упускаю другой способ сделать то, что я хочу (например, с помощью инструментов управления пользователями SQL Server), который был бы более безопасным?
  2. Если бы я собирался ввести этот метод, как бы я создал учетную запись «SuperUser» наВеб-сайт?Я предполагаю, что это будет какая-то учетная запись «NETWORK SERVICE» или «LOCAL SERVICE», но я все еще немного сомневаюсь, какая учетная запись делает то, что в ASP.NET.

Спасибо!

1 Ответ

0 голосов
/ 18 декабря 2011

Почему вы не можете использовать аутентификацию ASP.Net для входа в систему с использованием ролей и членства ... Я думаю, что это должно помочь вам ...

...