Newsgroup: it.comp.lang.visual-basic
Titolo: [?] SaveSetting e autorizzazioni utente

Come si concilia la SaveSetting con il tipo di utente in ambiente NT e
superiore?
Voglio dire, se l'utente ha permessi bassi, la SaveSetting riesce lo stesso
a scrivere nel registro?
Grazie.

[Lupo = 
circa_LupoOrm...@libero.it
 in
c3firb$27plta$
1...@ID-174464.news.uni-berlin.de
] ha scritto:

E, da che ci sono, visto che la SaveSetting salva in
"HKEY_CURRENT_USER\Software\VB and VBA Program
Settings\nomeapp\sezione\chiave", questa chiave č per l'utente corrente e
sarebbe diversa e separata per un altro utente (come se il registro avesse
piů "zone" HKEY_CURRENT_USER, ciascuna di competenza di un utente diverso)?
Grazie ancora.
PS: Sto facendo uno Screen Saver e non posso appoggiarmi a database. Un file
di testo sarebbe unico per tutti gli utenti (non ho voglia di rilevare il
nome dell'utente corrente per differenziare). La chiave di registro (che non
ho mai usato) sarebbe in questo caso l'ideale, se diversa per ogni utente.

Il 19/03/2004 20.48, Lupo scrisse:

Si', sono chiavi caricate al login dell'utente e specifiche per 
quell'utente.
ciao
	maxx
-- 
NOSPAM: Rimuovere i trattini dallo username!
Cut hyphens from my username!

Non entro in merito della SaveSettings che non ho peraltro mai utilizzato.
Vorrei suggerirti però che, se l'utente non ha i permessi di scrittura nel
registro, la cosa non dovrebbe funzionare...
Almeno io con Win2k Sp4 non riesco a fare molte operazioni se entro come
utente normale.
bye
-- 
Esistono 10 tipi di persone: chi conosce il binario e chi no.
www.nicolaottomano.it

 quell'utente.
Mi andrebbe benissimo, due piccioni con una fava, ma ... quello che dice
Nicola?

 quell'utente.
<dubbio mode>
Sei sicuro? La cosa mi sembra strana perchč potrebbe essere usata per fini
non proprio "benevoli"...
</dubbio mode>


 </dubbio mode>
Non escludo che abbiate ragione entrambi. Forse quella chiave/percorso che
la SaveSetting gestisce (l'unico possibile con quell'istruzione) č
"privilegiato" e supera ogni controllo sulle autorizzazioni. Puň essere?

 
Puoi anche utilizzare un file e salvarlo nella cartella %APPDATA% che e' 
specifica
per ogni utente.


Il 19/03/2004 21.25, Lupo scrisse:

Provo  e te lo confermo subito. Dammi 5 minuti ...


 autorizzazioni. Può essere?
Tutto può essere... ma mi spaventerei un pochino se un utente potesse
scrivere senza averne il permesso... anche in chiavi "particolari"..


 per ogni utente.
mmm, mai usata... Ma c'è per ogni sistema operativo?

 scrivere senza averne il permesso... anche in chiavi "particolari"..
Sono d'accordo, ma, me lo sono sempre chiesto, come fanno a funzionare
quegli applicativi che scrivono nel registro, indipendentemente dal tipo di
utente? O è stato necessario convertirli o obbligare a un tipo di utente con
sufficienti poteri?

 mmm, mai usata... Ma c'è per ogni sistema operativo?
Dovrebbe esserci per ogni OS (in fondo anche win98 era predisposto per la
multi utenza) però vi dovrebbero essere grosse differenze tra la famiglia
del 98/ME e la famiglia NT (infatti su nt esiste la cartella Documents and
Settings).


Il 19/03/2004 21.31, emmexx scrisse:
Per un utente normale funziona.
Non ricordo esista nessuna policy che serva per impedire l'accesso a 
questa parte del registro di un utente, proprio perche' e' privata, non 
ci puo' accedere nessun altro, nemmeno administrator.
Googlando ho visto che e' in linea di principio possibile limitare 
l'accesso a questa chiave, ma sembra sconsigliato da tutti.


 tipo di utente con sufficienti poteri?
Questo non lo so... però posso dirti che se fai un salto al Polimi ti faccio
vedere come QUALUNQUE operazione, che non sia salvare su a:\ e usare i pochi
applicativi installati, sia impossibile. In qualche modo faranno.


 l'accesso a questa chiave, ma sembra sconsigliato da tutti.
Ecco come fanno al Polimi! (vedi post più sopra)...


 Per un utente normale funziona.
...
Ti ringrazio

 
Le chiavi particolari non le devi tenere li'.
Quella chiave serve per tenerci le impostazioni specifiche per ogni 
utente, non informazioni "vitali" per il programma, ma cose come la 
dimensione della finestra o il colore dei font.
Se vuoi proteggere dei valori inserendoli in una chiave devi utilizzare 
un altro metodo.


Il 19/03/2004 21.39, Lupo scrisse:

Alcune applicazioni possono essere installate solo come amministratore 
ed in quel caso puoi fare cio' che vuoi nel programma. Esiste una API 
per modificare i permessi delle chiavi di registro:
  RegSetKeySecurity
cosi' come esistono tutta una serie di API per leggere e scrivere, non 
solo in HKCU.


Il 19/03/2004 21.36, Lupo scrisse:

C'e' un thread di oggi "Documenti" in cui Paperino ha indicato alcuni 
riferimenti.


 solo in HKCU.
Certo, per installare, ma io mi riferivo al normale uso di un applicativo,
già installato, che pure fa uso del registro da parte di un operatore con
bassissimi poteri ...

 riferimenti.
Taglio la testa al toro: uso la GetUserName che ho trovato qui
http://makeashorterlink.com/?I415228C7
Se non mi restituisce niente, lo forzo a una stringa convenzionale. Alla
fine ci denomino un file ASCII.
Spero solo che non mi dia errore per qualche SO...

Il 19/03/2004 22.01, Lupo scrisse:

Il registro e' come il file system: o hai i permessi per leggere e/o 
scrivere o nisba.
E' ovvio che pero' puoi creare una applicazione front end che si 
appoggia su un backend con permessi superiori. Faccio un esempio: come 
utente normale non posso accedere alla cartella dove si trovano i file 
dei database di sqlserver, pero' posso usare delle applicazioni che a 
quei file accedono perche' fanno uso di servizi installati 
dall'amministratore di sistema.
Spero di essermi spiegato


 Spero di essermi spiegato
chiarissimo.


 [emmexx = 
circa_e...@tiscalinet.it
 in

Va bene su tutti i so.
Pero' mi sembra piu' semplice usare savesetting e getsetting.
Secondo me i casi in cui c'e' un blocco su HKCU sono simili a quello del 
Poli citato da Nicola, per cui costringeresti l'utente a salvare il file 
su floppy.


 il file su floppy.
Urca! Ok, implemento con SaveSettings e poi ci penserň.
Grazie di tutto.

 l'accesso a questa chiave, ma sembra sconsigliato da tutti.
Le parti di registro 'sensibile', quella dove sono salvate le impostazioni
dell'hardware, del software, ecc. non sono accessibili in scrittura/modifica
da un utente normale ma il lettura si.
L'unica chiave a cui l'utente ha accesso in lettura/scrittura/modifica è la
chiave HKEY_CURRENT_USER e vi sono memorizzate le impostazioni di Windows e
dei programmi per l'utente stesso.
Aprendo la chiave HKEY_CURRENT_USER con Amministratore si accede alle
impostazioni del solo utente Amministratore, se si apre la chiave
HKEY_CURRENT_USER con l'utente Pippo, si accede alle impostazioni del solo
utente Pippo.
Le chiavi del registro HKEY_CURRENT_USER sono salvate per ogni utente nella
relativa cartella 'c:\Document and Settings' ed il file che contiene i dati
ha il nome di NTUSER.DAT.
Un utente amministratore può accedere in lettura/scrittura/modifica al
registro HKEY_CURRENT_USER semplicemente aprendo regedit e selezionando
HKEY_USERS oppure HKEY_LOCAL_MACHINE e nel menu File selezionando Carica
hive... e caricando appunto il file NTUSER.DAT dell'utente.
L'utente normale, pur avendo accesso in lettura/scrittura/modifica alla
propria chiave HKEY_CURRENT_USER non può fare danni per cui il computer
potrebbe non ripartire, ma solo alle sue impostazioni del desktop, e delle
impostazioni dei vari programmi (ma che appunto riguardano solo se stesso).
-- 
Esteban
www.seber.it
Questo post è stato scritto con bit riciclati.

 chiarissimo.
Come esempio per capire meglio si puo' citare quel worm di qualche mese fa
che spegneva i compiuter usando come utente "System" ! un "programma" che
lanciava comandi con privilegi di "system" O_o
-- 
<Gigio2K>
--- 
http://www.g2kweb.it/gigio2k
 ---
Nokia -> I.T.H.N. -> 
http://www.ithn.it/
VB -> I.C.L.VB -> 
http://www.it-lang-vb.net/

 utilizzare un altro metodo.
umm umm, io di solito ne abuso in questo modo, all'avvio leggo il registry
con valori di default e alla chiusura lancio la savesetting
Cosi se e' un nuovo utente all'avvio prendo i valori predefiniti che ho
impostato all'interno del codice, alla prima chiusura e seguente riapertura
da parte del nuovo utente, quei valori sono scritti nel registo. Sbaglio
forse ? Pero' come praticita' non lo batte nulla ! (nulla che io conosca)
