sql >> Databasteknik >  >> RDS >> Sqlserver

skapa flera användare för en c#.net winform-applikation med sql server express

I SQL Server kan du antingen ha konton baserade på Windows-konton eller separata, specifika SQL-konton. För båda varianterna behöver du ett konto för varje användare som behöver använda din databas.

Det enda undantaget är möjligheten att skapa en SQL Server-inloggning för en säkerhetsgrupp i Windows , t.ex. MyAppUsers , och sedan en användare i din databas för den inloggningen. Med detta kommer alla Windows-konton som är medlem i den säkerhetsgruppen (i Windows/AD) också att ha behörighet att se/använda din databas.

Med detta tillvägagångssätt flyttar du också administrationen av vem som kan använda din databas från SQL Server, eftersom det egentligen bara beror på medlemskap i en Windows-säkerhetsgrupp.

En inloggning, en användare - flera Windows-konton som får behörigheter med detta. Verkar som en vinnare för mig!

Uppdatering:

Skapa en inloggning för en Windows AD-grupp:

CREATE LOGIN [DOMAIN\GroupName] FROM WINDOWS

Skapa en användare i din databas baserat på den inloggningen:

USE (your database)

CREATE USER GroupNameUser 
FOR LOGIN [DOMAIN\GroupName]

Anslutningssträng för din SQL Server-anslutning:

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

Vad mer kan jag berätta för dig?

Uppdatering #2: koden inte att använda Windows-kontona är detta:

Skapa en inloggning för var och en användare som behöver använda din applikation

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

Skapa en användare i din databas baserat på den inloggningen – igen, en gång för varje användare av din app:

USE (your database)

CREATE USER UserName
FOR LOGIN (some login name)

Anslutningssträng för din SQL Server-anslutning:

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

Men återigen:detta kräver en inloggning inklusive ett lösenord och en användare i varje databas som du behöver hålla reda på och eventuellt göra saker som "återställ lösenord"-operationer etc. från din databasapp. Mycket mer när det gäller administratörskostnader!



  1. #1242 - Subquery returnerar mer än 1 rad - mysql

  2. Hur får man tillgängliga värden för SET-fältet?

  3. Hur man släpper eller tar bort alla utlösare från en databas i SQL Server

  4. Villkorligt unikt index på h2-databas