Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

създаване на множество потребители за c#.net winform приложение с помощта на sql server express

В SQL Server можете да имате или акаунти, базирани на Windows акаунти, или отделни, специфични SQL акаунти. И за двата варианта ви е необходим един акаунт за всеки потребител който трябва да използва вашата база данни.

Единственото изключение е възможността за създаване на вход в SQL Server за група за сигурност на Windows , напр. MyAppUsers , и след това потребител във вашата база данни за това влизане. С това всеки акаунт в Windows, който е член на тази група за сигурност (в Windows/AD), също ще има разрешения да вижда/използва вашата база данни.

С този подход вие също премествате администрацията на това кой може да използва вашата база данни извън SQL Server, тъй като това наистина зависи само от членството в група за сигурност на Windows.

Едно влизане, един потребител - множество акаунти в Windows, които получават разрешения с това. Изглежда ми като победител!

Актуализация:

Създайте вход за Windows AD група:

CREATE LOGIN [DOMAIN\GroupName] FROM WINDOWS

Създайте потребител във вашата база данни въз основа на това влизане:

USE (your database)

CREATE USER GroupNameUser 
FOR LOGIN [DOMAIN\GroupName]

Низ за връзка за вашата връзка със SQL Server:

server=(your server);database=(your database);integrated security=SSPI;

Какво друго мога да ви кажа?

Актуализация №2: кодътне използване на акаунти в Windows е следното:

Създайте вход за всеки потребител, който трябва да използва вашето приложение

CREATE LOGIN (some login name) WITH PASSWORD = 'Top$ecret'

Създайте потребител във вашата база данни въз основа на това влизане - отново, веднъж за всеки потребител на вашето приложение:

USE (your database)

CREATE USER UserName
FOR LOGIN (some login name)

Низ за връзка за вашата връзка със SQL Server:

server=(your server);database=(your database);
  user id=UserName;Password=Top$ecret

Но отново:това изисква едно влизане, включително парола и един потребител във всяка база данни които трябва да следите и евентуално да правите неща като операции за „нулиране на парола“ и т.н. от вашето приложение за база данни. Много повече по отношение на администраторските разходи!



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Заобиколно решение за DATEDIFF() игнориране на SET DATEFIRST в SQL Server (пример за T-SQL)

  2. 2 начина за връщане на името на сървъра в SQL Server (T-SQL)

  3. Как да инсталирате SQL Server на Windows

  4. Как SESSION_CONTEXT() работи в SQL Server

  5. Проверка на входен параметър, ако не е Null, и използването му къде в SQL Server