Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

creazione di più utenti per un'applicazione c#.net winform utilizzando sql server express

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!