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.