none
Password accesso db RRS feed

  • Domanda

  • Ho una istanza SQL Server Express 2008R2. Vari utenti accedono al db tramite un programma. Al momento autentico gli utenti (o meglio accedono gli utenti) inseriti come Users nella Security di ogni db. Come posso fare perchè si autentichino tramite password senza doverli via via aggiungere agli Users? Mi interessa la parte SQL Server, non ho problemi a modificare la stringa di connessione del programma.

    Grazie.s


    • Modificato frabosk venerdì 10 febbraio 2012 16:16
    venerdì 10 febbraio 2012 16:14

Tutte le risposte

  • salve,
    forse non ho ben interpretato il problema, e non mi e' chiara la tua domanda...

    se intendi che l'autenticazione che ora utilizzi e' l'autenticazione integrata Windows NT, dove non fornisci alcuna informazione a livello di connessione ma e' il domain controller attivo a fornire le credenziali che verranno poi autenticate da SQL Server, e vuoi invece utilizzare l'autenticazione Mista SQL Server, dove ogni utente dovra' fornire le proprie credenziali di autenticazione, quindi i classici "user name" e "password", allora devi prima di tutto impostare l'istanza di SQL Server in modo che accetti l'autenticazione mista... utilizzando SQL Server Management Studio, seleziona il nodo dell'istanza, accedi alle sue proprieta', quindi nel pannello "security" imposta la "server authentication" a "SQL Server and Windows Authentication mode"..
    dopo l'operazione, provvedi a verificare nel nodo Security->Login che la login "sa" sia eventualmente attiva (se richiesto) e che abbia una password impostata...
    a questo punto, per ogni utente che vorra' connettersi all'istanza, sara' necessario a livello SQL Server generare la relativa login SQL Server, per poi continuare nella gestione della sicurezza garantendo l'accesso alla login generata provvedendo a generare ed associarle un database user a livello di ogni singolo database che l'utente potra' utilizzare, ma questo passaggio e' comunque in comune con le login WinNT che gia' stai utilizzando.. a livello applicativo, invece, la stringa di connessione andra' modificata in modo da non indicare l'autenticazione integrata, bensi' fornendo le credenziali utente che raccoglierai probabilmente con apposito dialogo applicativo, che si traduce in una stringa di connessione simile a
    Dim ConnString As String = "Persist Security Info=False;Data Source=NomeIstanza;Initial Catalog=NomeDatabase;Connect Timeout=TempoDiTimeout;User Id=NomeUtente;Password=PasswordUtente;"

    diversamente, personalmente non ho capito la domanda :)
    saluti

    http://www.asql.biz - DbaMgr2k - DbaMgr and further SQL Tools http://www.hotelsole.com/

    sabato 11 febbraio 2012 09:59
    Moderatore
  • Ho una istanza SQL Server Express 2008R2. Vari utenti accedono al db tramite un programma. Al momento autentico gli utenti (o meglio accedono gli utenti) inseriti come Users nella Security di ogni db. Come posso fare perchè si autentichino tramite password senza doverli via via aggiungere agli Users? Mi interessa la parte SQL Server, non ho problemi a modificare la stringa di connessione del programma.

    Grazie.s


    Se ti trovi in un dominio windows la soluzione migliore è aggiungere ai logins dell'istanza il gruppo Windows degli utenti che devono accedere al db, e mappare questo nuovo login sul db. La gestione delle security in questo caso è effettivamente demandata all'inclusione o meno degli utenti nel gruppo a livello di Active Directory. In questo caso useresti l'autenticazione integrata di Windows.

    Diversamente, se il server non è in dominio la soluzione da seguire è quella di Andrea, cioè ripiegare sull'autenticazione di SQL Server. In questo caso avresti un login unico condiviso tra tutti gli utenti, e sarebbe conveniente crittografare la sezione connection string del web.config in quanto conterrebbe la password.

    Qui alcuni dettagli sui metodi di autenticazione: http://msdn.microsoft.com/it-it/library/ms144284.aspx

    E qui su come proteggere dati sensibili nella sezione connection string del web.config: http://www.aspnettutorials.com/tutorials/advanced/encrypt-conn-str-asp4-cs.aspx

    Ciao!


    Francesco Milano // .NET & SQL Server Consultant // blog // twitter

    lunedì 13 febbraio 2012 08:33