W SQL Server możesz mieć konta oparte na kontach Windows lub oddzielne, określone konta SQL. W przypadku obu odmian potrzebujesz jedno konto dla każdego użytkownika który musi korzystać z Twojej bazy danych.
Jedynym wyjątkiem jest możliwość utworzenia logowania do serwera SQL dla grupy zabezpieczeń systemu Windows , np. MyAppUsers
, a następnie użytkownika w Twojej bazie danych dla tego logowania. Dzięki temu każde konto Windows, które jest członkiem tej grupy bezpieczeństwa (w Windows/AD), będzie również miało uprawnienia do przeglądania / korzystania z Twojej bazy danych.
Dzięki takiemu podejściu przenosisz również administrowanie tym, kto może korzystać z Twojej bazy danych, z SQL Server, ponieważ tak naprawdę zależy to tylko od członkostwa w grupie bezpieczeństwa Windows.
Jeden login, jeden użytkownik - wiele kont Windows, które uzyskują do tego uprawnienia. Wydaje mi się zwycięzcą!
Aktualizacja:
Utwórz login dla grupy Windows AD:
CREATE LOGIN [DOMAIN\GroupName] FROM WINDOWS
Utwórz użytkownika w swojej bazie danych na podstawie tego loginu:
USE (your database)
CREATE USER GroupNameUser
FOR LOGIN [DOMAIN\GroupName]
Parametry połączenia dla połączenia z serwerem SQL:
server=(your server);database=(your database);integrated security=SSPI;
Co jeszcze mogę ci powiedzieć?
Aktualizacja nr 2: kod nie przy użyciu kont Windows jest to:
Utwórz login dla każdego użytkownik, który musi korzystać z Twojej aplikacji
CREATE LOGIN (some login name) WITH PASSWORD = 'Top$ecret'
Utwórz użytkownika w swojej bazie danych na podstawie tego loginu - ponownie, raz dla każdego użytkownika Twojej aplikacji:
USE (your database)
CREATE USER UserName
FOR LOGIN (some login name)
Parametry połączenia dla połączenia z serwerem SQL:
server=(your server);database=(your database);
user id=UserName;Password=Top$ecret
Ale znowu:wymaga to jednego loginu z hasłem i jednego użytkownika w każdej bazie danych które musisz śledzić i prawdopodobnie robić takie rzeczy, jak operacje „resetowania hasła” itp. Z aplikacji bazy danych. Dużo więcej jeśli chodzi o koszty administracyjne!