none
credenziali utente database RRS feed

  • Domanda

  • Buongiorno a tutti,

    pongo una domanda ai più banale ma per la quale, non essendo esperto, mi trovo in difficoltà.

    Progetto access (ade) su sql2005express. Con l'ausilio di MMSE e come utente sa, ho definito un account di accesso server (es. verifica_connessione). Lo stesso è stato inserito tra gli utenti di un database (es. mio_database) ed inserito nel ruolo db_datareader. Inoltre, per la vista di sistema sys.sysusers nella scheda autorizzazioni ho aggiunto il suddetto utente (verifica_connessione) per l'esecuzione delle istruzioni di select. In pratica al suddetto utente intenderei concedere esclusivamente le autorizzazioni di connessione al server sul database mio_database per eseguire una select su sys.sysusers.

    Quanto sopra perché per gli utenti che tentano di logarsi tramite il progetto access, l'applicazione per verificare che, indipendentemente dalle credenziali dell'utente, non ci siano problemi di connessione al server, esegue una prima connessione con le credenziali dell'utente "verifica_connessione". Se la connessione è stabilita passa a verificare, sempre come utente "verifica_connessione" attraverso una select su sys.sysusers, che l'utente che intende logarsi abbia le credenziali di accesso al database ossia sia presente nella suddetta vista sys.sysusers. Una volta verificato quanto sopra, l'applicazione interrompe la connessione stabilita e tenta di realizzarne una nuova con le credenziali (username e pwd) dell'utente. Se la connessione non si stabilisce sarà dovuto a questo punto ad un errore di digitazione della pwd con relativo messaggio di info all'utente.

    Il problema che riscontro è il seguente:

    se eseguo, anche direttamente MMSE, la select su sys.sysusers come utente "sa" vedo utenti e ruoli che possono accedere al database ma se la eseguo come utente "verifica_connessione" gli utenti non li vedo più.

    Dov'è che sbaglio? Non vorrei concedere privilegi ulteriori o inopportuni (tipo inserirlo nel ruolo db_owner in sostituzione del db_datareader) ) xchè temo che qualche smanettone possa  tirar fuori dal progetto ade la stringa di connessione al server e, logandosi direttamente sul database sql, fare danni.

    Vi ringrazio e mi scuso se troppo prolisso.

    Saluti, Max.

    martedì 5 maggio 2015 08:37

Risposte