Limitare visualizzazione dati tabella in base ad utente loggato

di il
32 risposte

32 Risposte - Pagina 2

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    14/08/2023 - @Alex ha scritto:


    Molti utenti “fai da te” creano Elenchi in Excel o Applicativi di comodo in Access con dati “sensibili” senza nemmeno porsi il problema della privacy o che il DB debba essere Criptato in certi casi, se non ricordo male SEMPRE nel caso delle PA, pensando poi che essendo ad uso personale o di pochi dell'ufficio… sia tutto semplice e fattibile… NOOOooooo.

    Queste cose spesso accadono nelle PA o in luoghi affini…

    La differenza che c'è tra un lavoro di carpenteria e uno di traforo…

    Basta fare una statistica di 3d su access ed una di assurdità di richieste di aiuto che spazia dalla visualizzazione di una semplice maschera alla colonizzazione di marte.

    Tutto questo nella convinzione che se riescono ad inserire un record, sono in grado di creare un modulo lunare, sottovalutando lo studio della materia da trattare o pensando che qualche info presa qua e la dal web possa valere come una laurea honoris causa.

    Ma in fin dei conti, stiamo parlando di access, un programma studiato per fare il minimo indispensabile.

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    14/08/2023 - sihsandrea ha scritto:

    Ma in fin dei conti, stiamo parlando di access, un programma studiato per fare il minimo indispensabile.

    Ribadisco che non c'entra nulla Access, Excel o il foglio di carta da formaggio, in se e per se, quello che conta è l'approccio non tecnico delle persone, che andrebbe “educato tecnicamente” al meglio, e l'educazione tecnica non sempre si incentiva alimentando con 50 Post dei 3D che dovrebbero aver vita molto più breve…!

    Il resto sono opinioni che possono avere una dose di soggettività di cui non è nemmeno necessario parlare… questa è la sezione di Access e come tale la gestiamo.

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    Privacy, PA, crittazione, carte de formaggi, …..

    Ma che state addi'?  

    Avete letto la domanda?

    Vuole visualizzare solo le righe che sono state inserite (perche' il campo username gia' c'e' su ogni record e l'ha scritto) dall'utente che ha fatto il login sul programma

    E basta filtrare con una ‘where’  adeguata, una roba del tipo

    “select * from tabella where username=” & nome_utente_login & “ "

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    14/08/2023 - amorosik ha scritto:


    Privacy, PA, crittazione, carte de formaggi, …..

    Ma che state addi'?  

    Avete letto la domanda?

    Vuole visualizzare solo le righe che sono state inserite (perche' il campo username gia' c'e' su ogni record e l'ha scritto) dall'utente che ha fatto il login sul programma

    E basta filtrare con una ‘where’  adeguata, una roba del tipo

    “select * from tabella where username=” & nome_utente_login & “ "

    Piacerebbe anche a me banalizzare… ma tu veramente faresti una cosa simile…?

    Scriveresti una query in quel modo per poi dover modificare da querydef il predicato…? 

    Se veramente così allora argomento chiuso.

    Altrimenti direi che le argomentazioni date possono richiedere qualche riflessione più seria anche se chi fa le domande non ha le competenze per distinguere la qualità dei suggerimenti… 

    Saluti.

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    14/08/2023 - amorosik ha scritto:


    Privacy, PA, crittazione, carte de formaggi, …..

    Ma che state addi'?  

    Avete letto la domanda?

    Vuole visualizzare solo le righe che sono state inserite (perche' il campo username gia' c'e' su ogni record e l'ha scritto) dall'utente che ha fatto il login sul programma

    E basta filtrare con una ‘where’  adeguata, una roba del tipo

    “select * from tabella where username=” & nome_utente_login & “ "

    Certo, tutti abbiamo letto la domanda e tutti abbiamo dato la spiegazione tecnica.

    Ora bisogna vedere quali sono gli obiettivi che si prefissa l'autore del post.

    Se gli occorre  filtrare i dati per utente semplicemente per far lavorare meglio gli utenti o per tenere traccia di chi inserisce e modifica i dati, allora, una semplice query con una where condition è più che sufficiente.

    Ma se invece, come tutti abbiamo pensato, sta cercando di creare una struttura gerarchica basata sui permessi, e che gli altri utenti non debbano in alcun modo avere accesso ai dati o al lavoro inserito da altri utenti, beh:

    • Access non è lo strumento adatto
    • Access non ha la gestione nativa degli user e dei livelli dei permessi
    • Un qualsiasi utente che sappia la differenza tra access e excel riesce in 3 secondi a bucare una where condition.
    • Se si adottano sistemi diversi per impedire l'accesso ai dati, per bucare il sistema i secondi variano da 10 a 30.

    Senza contare il fatto che l'autore del post, da quello che ha detto, non sa nemmeno che cosa significa la parola where e dove dovrebbe mettere gli ID degli users.

    Quindi penso che, oltre al fatto di dare la risposta tecnica, bisogna anche informare l'autore che quello che cerca di fare non è assolutamente sicuro e lascia il tempo che trova.

    E visto che dovrà essere condiviso su sharepoint il rischio che dati sensibili siano alla mercè di persone che non dovrebbero consocerli è pari al 100%

    E visto che solitamente questioni di questo genere vengono sollevati da dipendenti della pubblica amministrazione, dove access viene usato in modo massiccio, da persone che non lo sanno assolutamente usare e che trattano dati altamente sensibili, il dubbio che ci siano grossi problemi di privacy con i nostri dati personali, è sicuramente certo al 100%

    L'unico modo relativamente sicuro è quello di criptare almeno le password usate dagli utenti, perchè se il database non è protetto da password, basta un banale importa tabelle per avere importare la tabella delle password ed avere accesso a tutto il database. Cosa che però non è sicura nemmeno questa, perchè se sono un utente che ha accesso al database ho minimo 10 modi diversi per scavalcare qualsiasi sistema che si possa adottare.

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    14/08/2023 - @Alex ha scritto:


    14/08/2023 - amorosik ha scritto:


    Privacy, PA, crittazione, carte de formaggi, …..

    Ma che state addi'?  

    Avete letto la domanda?

    Vuole visualizzare solo le righe che sono state inserite (perche' il campo username gia' c'e' su ogni record e l'ha scritto) dall'utente che ha fatto il login sul programma

    E basta filtrare con una ‘where’  adeguata, una roba del tipo

    “select * from tabella where username=” & nome_utente_login & “ "

    Piacerebbe anche a me banalizzare… ma tu veramente faresti una cosa simile…?

    Scriveresti una query in quel modo per poi dover modificare da querydef il predicato…? 

    Se veramente così allora argomento chiuso.

    Altrimenti direi che le argomentazioni date possono richiedere qualche riflessione più seria anche se chi fa le domande non ha le competenze per distinguere la qualità dei suggerimenti… 

    Saluti.

    La risposta alla domanda E' banale

    Se poi vuoi fargli il corso, sul Gdpr, o fargli crittare il db, o altre amenita' che finora non ha chiesto, accomodati pure, sapendo che saranno  informazioni attualmente inutili

    Si, e' argomento chiuso nel senso che una volta trovata risposta alla domanda posta, fine

    La qualita' dei suggerimenti e' facile da valutare, se risolvono il problema posto sono suggerimenti buoni, altrimenti no

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    14/08/2023 - fratac ha scritto:


    14/08/2023 - amorosik ha scritto:


    Privacy, PA, crittazione, carte de formaggi, …..

    Ma che state addi'?  

    Avete letto la domanda?

    Vuole visualizzare solo le righe che sono state inserite (perche' il campo username gia' c'e' su ogni record e l'ha scritto) dall'utente che ha fatto il login sul programma

    E basta filtrare con una ‘where’  adeguata, una roba del tipo

    “select * from tabella where username=” & nome_utente_login & “ "

    Gli obiettivi che si prefigge, li ha scritti nella domanda, non c'e da chiedersi niente

    “..non sa nemmeno che cosa significa la parola where..”  e se vedi che non lo sa perche' non glielo spieghi?

    “..condiviso su sharepoint il rischio che dati sensibili siano alla mercè di persone..”  quando le chiedera', potrai spiegargli e questo e quello

    O pensi che un operatore non esperto possa mettere su il sistema informatico di un ospedale?  Io non credo proprio, quindi stai tranquillo

    “..criptare almeno le password usate dagli utenti..”  non vedo dove qualcuno gli abbia consigliato come farlo, come mai?

    “.. perchè se sono un utente che ha accesso al database..”  vuoi dire che se vedi una password dentro al db, crittata aes256, riesci a decrittarla?

    Ehhh bravo, tanto di cappello, io non ci riuscirei

    Senza contare che ‘accesso diretto al db’ non ce lo deve avere nessuno, ovviamente

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    Vi ringrazio tutti per le preziose risposte e per i suggerimenti forniti, che proverò da subito a mettere in pratica. 

    grazie ancora

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    @amorosik…l'op ha avuto subito una risposta su cosa doveva fare e quindi è stato accontentato. Adesso sta a lui provare a scrivere la where e se ha altri problemi si farà risentire. 

    Discutere di altro e aggiungere altre informazioni, anche importanti, non mi pare una cosa negativa. E comunque non giustifica l'avvio di possibili flame.

    Ognuno può aggiungere osservazioni su altri aspetti che l'op magari non ha tenuto in considerazione e questo è comunque positivo. 

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    Premetto che concordo con quanto espresso da fratac e da @Alex, pertanto superfluo ripetere cose già dette….  

    Le soluzioni possono essere diverse così come un qualsiasi approccio che non porti a limitare le funzionalità del progetto.

    In questo caso specifico si va incontro a diverse limitazioni per un database relazionale che non prevede la gestione User.

    Ma la cosa più importante che non conosciamo è la struttura del progetto, lo scopo, il contenuto delle informazioni e il flusso delle stesse, dove una soluzione rispetto ad un altra può portare a svariati problemi di natura prettamente tecnica. Da qui l'impossibilità di ulteriori implementazioni o semplicemente la gestione delle più elementari funzioni.

    Non conoscendo quanto riportato sopra, si può solo elencare i pro e i contro nell'approcciare una gestione User. Ma qui entra in gioco la dimestichezza e le conoscenze tecniche che ha l'autore del Thread.

    Infatti chi ha una certa esperienza e conoscenze, già intravede tutte le problematiche che si verificheranno utilizzando un approccio piuttosto che un altro. Ma adesso la discriminante sarà sempre la stessa. cioè quello che non conosciamo, il progetto la struttura del database etc etc etc. 

    joker88 se accetti un umile consiglio…. analizza i pro e i contro, analizza se ne vale la pena entrare in un ginepraio del genere. 
    Se poi tutto si riduce ad una tabella e ad una form e solo per un contesto specifico e limitato, allora usa una semplice Select e Where Condition per filtrare il recordset e sei a posto.
    Ma se deve essere esteso per tutto il progetto, allora pensaci bene perchè potresti riscontrare tanti problemi tecnici di varia natura.

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    Come al solito si sta andando OT e si stanno scaldando i toni.

    Però una risposta è d'obbligo e poi chiudo il discorso.

    14/08/2023 - amorosik ha scritto:


    O pensi che un operatore non esperto possa mettere su il sistema informatico di un ospedale?  Io non credo proprio, quindi stai tranquillo

    Un operatore poco esperto non riesce nemmeno a creare una where condition e sinceramente, per diffondere dati sensibili non c'è bisogno di creare un sistema informatico di un ospedale. Basta una semplice lista scritta in word e che venga data in mano a persone che non dovrebbero averla.

    14/08/2023 - amorosik ha scritto:


    “.. perchè se sono un utente che ha accesso al database..”  vuoi dire che se vedi una password dentro al db, crittata aes256, riesci a decrittarla?

    nella molteplici risposte che hai dato in passato ed in questo stesso thread ho l'impressione che non conosci molto l'ambiente access.

    In access non c'è modo di impedire l'accesso alle tabelle ed è questo il vero problema.

    Una volta che ho avuto l'accesso alle tabelle, non mi serve nemmeno conoscere l'algoritmo di decriptazione.

    Mi basta conoscere il numero id di un user, che non può essere criptato, prendere la password criptata, andare a vedere i record che riportano il numero id dell'user, copiare una certa quantità di dati, dare in pasto ad un banale programma di decriptazione facilmente reperibile su internet, la password e una certa quantità di dati criptati ed in poche ore il programmino farà il resto riuscendo a ricreare l'algoritmo e la chiave di decriptazione. Trovando la chiave di decriptazione troverò anche tutte le password di accesso di tutti gli user, potendo quindi accedere in chiaro a qualsiasi dato presente sul database.

    E non c'è bisogno di essere esperti informatici. Basta solo avere un minimo di intelligenza e saper fare una banalissima ricerca su internet.

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    14/08/2023 - amorosik ha scritto:


    “.. perchè se sono un utente che ha accesso al database..”  vuoi dire che se vedi una password dentro al db, crittata aes256, riesci a decrittarla?

    Credo che si stia facendo un po' di confusione…

    A parte che se sono dentro al database, decrittare la password è superfluo.

    Esiste una protezione a livello database, quella dove il programma si collega tramite user e password.

    Poi, ripeto, poi, ci sono le password degli utenti che devono utilizzare il programma (tramite maschera). L'utente si logga e si fa riconoscere e tutto finisce li.

    Il programma, si collega al db con la password del db. Nel senso che se rubi la password dell'utente pippo, non puoi entrare nel database access ma nella maschera del programma.

    Per fare un esempio, se ti registri al sito vattelapesca e ti assegnano un utente e una password, non hai accesso al server, semplicemente il programma che si collega al server tramite una user ed una password del server (oltre che permessi) e verifica che sulla tabella utenti esiste quell'utente con quella password (poi ti chiede l'otp) ma stai semplicemente autorizzando la vista di alcuni record, non hai accesso al database.

    Io ho suggerito la protezione del db con una password in modo da non avere accesso al database.

    Poi una login del programma per dare accesso alle persone autorizzate.

    La domanda che ha fatto è

    Come faccio a distinguere i dati di chi è loggato. Sa come usare una where ma non sa (o gli è sfuggito) come passare il parametro utente nella where.

    Ho chiesto il tipo di autorizzazione solo per distinguere se i permessi sono per form (contabili, cartelle mediche, inserimento e lettura cartelle cliniche, agenda appuntamenti ecc…).

    Li la faccenda si complica un po' in base alla form da fare o non fare visualizzare o ai semplici importi, ma nel caso in questione, l'utente ha accesso totale a ciò che inserisce lui (tipo un crm di agenti di commercio dove ognuno vede solo la propria zona, il proprio fatturato, i propri ordini ed il supervisore vede tutto di tutti gli agenti).

    La traccia gli è stata data, il resto sono solo suggerimenti e considerazioni personali.

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    14/08/2023 - sihsandrea ha scritto:


    Esiste una protezione a livello database, quella dove il programma si collega tramite user e password.

    si fa tanto per parlare… tale protezione del Db in un batter d'occhio la superi… anche sul web trovi dei programmini, ormai da anni e anni, per rimuovere tale protezione nativa di access. Se non ricordo male dalla versione Access 97 in poi…

    Insomma… MsAcess non ha protezioni che blindano il database…. ma del resto si sa,  nasce come interfaccia ai dati e fa il suo sporco lavoro come se fosse un excel evoluto.

    L'unico sistema per garantire il non accesso ai dati del database è l'autodistruzione in caso di accessi non autorizzati. Solo così si possono proteggere le informazioni presenti nelle tabelle. 
    Questo sistema ti posso garantire che funziona alla grande e richiede solo di avere le copie dei dati ben costudite altrove.

    ;-) 

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    14/08/2023 - oregon ha scritto:


    @amorosik…l'op ha avuto subito una risposta su cosa doveva fare e quindi è stato accontentato. Adesso sta a lui provare a scrivere la where e se ha altri problemi si farà risentire. 

    Discutere di altro e aggiungere altre informazioni, anche importanti, non mi pare una cosa negativa. E comunque non giustifica l'avvio di possibili flame.

    Ognuno può aggiungere osservazioni su altri aspetti che l'op magari non ha tenuto in considerazione e questo è comunque positivo. 

    Non mi pare di aver avviato un bel niente

    Il richiedente ha chiesto una cosa ben precisa, saltano fuori un mare di difficolta' su aspetti che per lui potrebbero non avere alcuna importanza, per il fatto che non sappiamo esattamente dove vada impiegato questo software e manco cosa faccia esattamente

    E' il classico ‘mettere il carro davanti ai buoi’ di nessuna utilita' ai fini della richiesta iniziale

    “..Ognuno può aggiungere osservazioni su altri aspetti ..”  si  certo, magari senza terrorizzare il povero malcapitato su quello che potrebbe capitargli se arrivasse la finanza, il garante, l'innondazione, le cavallette, ….

  • Re: Limitare visualizzazione dati tabella in base ad utente loggato

    14/08/2023 - fratac ha scritto:


    Come al solito si sta andando OT e si stanno scaldando i toni.

    Però una risposta è d'obbligo e poi chiudo il discorso.

    Se un operatore poco esperto non riesce a creare una query, e chiede aiuto qua, cerchiamo di darglielo l'aiuto che cerca, senza tante storie inutili, perche' la tendenza che vedo e' quella del ‘studia e poi torna’, ma se uno le cose che cerca le impara per altri versi cosa dovrebbe tornare a fare?  E viceversa, se in un forum non trovi risposta alle domande che poni, a cosa serve il forum?

    “..In access non c'è modo di impedire l'accesso alle tabelle..”  e allora gli si dice ‘guarda che non si puo fare per questo e questo motivo’

    “..dare in pasto ad un banale programma di decriptazione facilmente reperibile su internet..”  seee tanti auguri abbiamo trovato il nuovo Alan Turing, meglio informare anche Ellison che il suo unbreakable db puo' essere craccato da qualche banale programma di decrittazione, per di piu' facilmente trovabile in rete 

Devi accedere o registrarti per scrivere nel forum
32 risposte