sql >> Database >  >> RDS >> Sqlserver

meerdere gebruikers maken voor een c#.net winform-toepassing met behulp van sql server express

In SQL Server kunt u ofwel accounts hebben op basis van Windows-accounts, of afzonderlijke, specifieke SQL-accounts. Voor beide varianten heeft u één account nodig voor elke gebruiker die uw database moet gebruiken.

De enige uitzondering is de mogelijkheid om een ​​SQL Server Login aan te maken voor een Windows-beveiliging groep , bijv. MyAppUsers , en vervolgens een gebruiker in uw database voor die login. Hiermee heeft elk Windows-account dat lid is van die beveiligingsgroep (in Windows/AD) ook machtigingen om uw database te zien / gebruiken.

Met deze aanpak verplaatst u ook het beheer van wie uw database kan gebruiken uit SQL Server, aangezien het eigenlijk alleen afhangt van het lidmaatschap van een Windows-beveiligingsgroep.

Eén login, één gebruiker - meerdere Windows-accounts die hiermee rechten krijgen. Lijkt me een winnaar!

Bijwerken:

Maak een login aan voor een Windows AD-groep:

CREATE LOGIN [DOMAIN\GroupName] FROM WINDOWS

Maak een gebruiker aan in uw database op basis van die login:

USE (your database)

CREATE USER GroupNameUser 
FOR LOGIN [DOMAIN\GroupName]

Verbindingsreeks voor uw SQL Server-verbinding:

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

Wat kan ik je nog meer vertellen?

Update #2: de code niet het gebruik van de Windows-accounts is dit:

Maak een login aan voor elk gebruiker die uw applicatie moet gebruiken

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

Maak een gebruiker in uw database op basis van die login - nogmaals, eenmaal voor elke gebruiker van uw app:

USE (your database)

CREATE USER UserName
FOR LOGIN (some login name)

Verbindingsreeks voor uw SQL Server-verbinding:

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

Maar nogmaals:dit vereist één login inclusief een wachtwoord en één gebruiker in elke database die u moet bijhouden en mogelijk dingen moet doen zoals "wachtwoord opnieuw instellen" -bewerkingen enz. vanuit uw database-app. Veel meer in termen van administratieve overhead!



  1. Google Cloud SQL SSL mislukt peer-certificaatvalidatie

  2. Hoe te controleren of een array leeg is in Postgres

  3. DateTime::CreateFromFormat voor PHP 5.2.14

  4. Een waarde retourneren uit een INSERT-instructie in SQL Server 2008