In SQL Server è possibile avere account basati su account Windows o account SQL specifici separati. Per entrambe le varianti, è necessario un account per ogni utente che deve utilizzare il tuo database.
L'unica eccezione è la possibilità di creare un accesso a SQL Server per un gruppo di sicurezza Windows , per esempio. MyAppUsers
e quindi un utente nel database per quell'accesso. Con questo, qualsiasi account Windows che è membro di quel gruppo di sicurezza (in Windows/AD) avrà anche le autorizzazioni per vedere / utilizzare il tuo database.
Con questo approccio, stai anche spostando l'amministrazione di chi può usare il tuo database fuori da SQL Server, poiché in realtà dipende solo dall'appartenenza a un gruppo di sicurezza di Windows.
Un accesso, un utente:più account Windows che ottengono autorizzazioni con questo. Mi sembra un vincitore!
Aggiornamento:
Crea un accesso per un gruppo di Windows AD:
CREATE LOGIN [DOMAIN\GroupName] FROM WINDOWS
Crea un utente nel tuo database in base a quell'accesso:
USE (your database)
CREATE USER GroupNameUser
FOR LOGIN [DOMAIN\GroupName]
Stringa di connessione per la tua connessione a SQL Server:
server=(your server);database=(your database);integrated security=SSPI;
Cos'altro posso dirti?
Aggiornamento n. 2: il codice non l'utilizzo degli account Windows è questo:
Crea un accesso per ciascuno utente che deve utilizzare la tua applicazione
CREATE LOGIN (some login name) WITH PASSWORD = 'Top$ecret'
Crea un utente nel tuo database in base a quell'accesso, ancora una volta per ogni utente della tua app:
USE (your database)
CREATE USER UserName
FOR LOGIN (some login name)
Stringa di connessione per la tua connessione a SQL Server:
server=(your server);database=(your database);
user id=UserName;Password=Top$ecret
Ma ancora:questo richiede un login che includa una password e un utente in ogni database di cui devi tenere traccia e possibilmente eseguire operazioni come operazioni di "reimpostazione della password" ecc. Dall'app del database. Molto di più in termini di sovraccarico amministrativo!