|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18790
|
Database su web server... come filtare in base a utente?
Ho messo su un server IIS e tramite front page ho creato una connessione ad un database.
Ora l'accesso al sito che riporta il contenuto del database è protetto tramite user e password. Volevo invece fare un passo ulteriore, ovvero filtrare l'elenco del database mostrato in base al nome utente che si è loggato. Il database è molto semplice, una serie di dati da visualizzare. Ho aggiunto come campo un campo chiamato "Utente" nel quale ho inserito il nome dell'utente , che una volta loggato, ha il diritto di vedere quel dato. La mia idea era di filtrare tramite query il database da visualizzare, impostando come condizione che lo USERNAME usato per autenticarsi (autenticazione su IIS quindi tramite user name e password di windows nt) Tipo SELECT * FROM tabella WHERE utente = ' <???? USER NAME LOGGATO ??? >' |
![]() |
![]() |
![]() |
#2 | |
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
Quote:
ora, per quel che so un dbms permette una gestione dei permessi a livello di tabella, non di singoli record (ma qui bisognerebbe sentire qualcuno di più esperto). quindi la soluzione potrebbe essere estendere il metodo da te seguito: invece di associare un record a un utente devi mettere un campo che riferisce una tabella esterna in cui ci sono record che memorizzano associazioni record-utente. |
|
![]() |
![]() |
![]() |
#3 |
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18790
|
hai ragione, infatti stò pensado di fare una seconda tabella, contenente gli user name e il relativo codice che puo visualizzare sulla seconda tabella, in modo che posso filtrare la tabella in base a questa. Il problema è che non riesco ancora a capire come avere passare la variabile utente loggato alla query in .asp (fp_Qry="SELECT ...." )
|
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
qui purtroppo non ti so aiutare, mi dispiace
|
![]() |
![]() |
![]() |
#5 |
Senior Member
Iscritto dal: Aug 1999
Città: Como
Messaggi: 1495
|
se non ricordo male tra le SERVER VARIABLES della Request ci dovrebbe esser anche la USERNAME o qualcosa del genere.
__________________
il forum italiano delle torce www.cpfitaliforum.it |
![]() |
![]() |
![]() |
#6 |
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18790
|
si ho trovato.
request.servervariables("AUTH_NAME") Infatti facendo poi una response.write mi dà esattamente il nome utente registrato. Il problema è...... ho usato frontpage per fare in fretta la pagina, e mi ha messo l'interrogazione database con la sua funzione. Ma nonostante abbia creato una variabile utente contentente lo username dalla request di prima, non riesco a passarla alla query, ogni volta che la cambio frontpage mi dice "il contenuto di un componente è stato cambiato" e mo lo sostituisce. La cosa funziona perchè, modificando il codice asp con worpad, mi ha funzionato. Solo che usando frontpage ogni volta mi segnala questo e mi toglie la modifica fatta a mano!!! Nello specifico, ho una querty cosi: Fp_Sqry="SELECT * FROM tabella Where utente = '" & utente & "' " avendo specificato nella variabile utente la request. Cosi funziona, ma appeno apro frontpage me la modifica in: Fp_Sqry="SELECT * FROM tabella Where utente = '::utente' " E cosi non funziona!!!! Cazzarola!!!! Non ditemi di cambiare editor perchè al lavoro ho solo questo ![]() |
![]() |
![]() |
![]() |
#7 | |
Senior Member
Iscritto dal: Aug 1999
Città: Como
Messaggi: 1495
|
Quote:
![]() Altrimenti inserisci il codice asp in un altro file che includerai nel primo così ti risolvi il problema di frontpage.
__________________
il forum italiano delle torce www.cpfitaliforum.it |
|
![]() |
![]() |
![]() |
#8 |
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18790
|
Risolto... vabbè... mi sono riscritto la connessione al db e l'output della query in .asp senza usare quel cavolo di webbot di frontpage. Ora funziona tutto alla perfezione e l'ho messo online, filtrando in automatico i dati in base all'utente connesso
![]() |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
il filtraggio in automatico come lo fai?
|
![]() |
![]() |
![]() |
#10 | |
Bannato
Iscritto dal: Nov 2000
Città: mi
Messaggi: 18790
|
Quote:
Mi son creato una variabile utente contenente l'utente autentificato: utente = request.servervariables("AUTH_USER") Poi l'ho usata nella query: SELECT * FROM tabella WHERE utente like '" & utente & "'" Nel mio caso ho due tabelle, una contentente i dati con abbinato un codice cliente, l'altra conenente i nomi utenti e abbinato il codice che possono visualizzare. In questo modo faccio una Inner join e visualizzo i dati che mi interessano. SELECT * FROM tabella INNER JOIN privilegi ON privilegi.idcliente=tabella.idcliente WHERE privilegi.utente like '" & utente & "'" Esempio. Tabella "privilegi" utente--idcliente pippo 1 pippo 2 pluto 3 Tabella "tabella" idcliente dati..... 1 .... 1 ... 2..... 2 ..... 3.... Nel mio caso, se si logga l'utente PIPPO vedrà i dati dei clienti 1 e 2, l'utente pluto solo il 3 e cosi via . Ultima modifica di dani&l : 17-11-2006 alle 15:47. |
|
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Oct 2006
Messaggi: 1105
|
ah ok, come avevamo discusso in precedenza. pensavo avessi trovato un altro modo per farlo.
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 03:43.