Quando si definiscono le autorizzazioni effettive, mi riferisco alle autorizzazioni elencate quando si entra nelle proprietà di un database in SQL Server Management Studio, fare clic su "Autorizzazioni" e quindi fare clic sulla scheda "Efficace".Come determinare le autorizzazioni effettive per un utente di un database SQL Server tramite C#?
Finora, sono stato in grado di determinare le autorizzazioni esplicite con il seguente codice:
using Microsoft.SqlServer.Management.Smo;
...
DatabasePermissionInfo[] permissions = database.EnumDatabasePermissions("username");
Tuttavia, ho ancora bisogno di ottenere le autorizzazioni valide. In questo scenario, ho aggiunto un accesso per un utente e gli ho assegnato il ruolo di db_datareader
e db_datawriter
per un database tramite Mappatura utenti.
Nelle autorizzazioni per il database, le autorizzazioni effettive elencate sono CONNECT, DELETE, INSERT, SELECT,
e UPDATE
, ma le autorizzazioni esplicite elencano solo i collegamenti (che è l'unica cosa che il codice precedente riporta indietro). Quindi esiste un modo per recuperare anche le autorizzazioni effettive?
Grazie.
prova questo articolo precedente di StackOverflow dovrebbe aiutare http://stackoverflow.com/questions/962482/sql-permissions-to-add-data-and-how-to-verify – MethodMan