[ semiconductor @ 17.05.2006. 22:25 ] @
Treba mi najjednostavniji nacin postavljanja korisnickog
imena i lozinke pri pokretanju programa. Administrator
moze da radi sve pa ida doda novog korisnika
i da mu dodeli odredjene akcije/restrikcije.
[ Miloš Baić @ 18.05.2006. 10:40 ] @
Citat:
Treba mi najjednostavniji nacin postavljanja korisnickog imena i lozinke pri pokretanju programa.


File -> New -> Other -> Dialogs - > Password Dialog, recimo....
[ semiconductor @ 18.05.2006. 11:40 ] @
Citat:
File -> New -> Other -> Dialogs - > Password Dialog, recimo....


To znam. Da uprostim...
Pokrenem program on trazi Korisnicko ime i Lozinlku.
Korisnicko ime moram da izaberem iz ComboBox-a
(sadrzi sve korisnike koji su regostrovani).
Potom unesem lozinku. Ukoliko je lozinka odgovarajuca,
pokrece se program koji mi, recimo, daje da stampam, unosim podatke i sl.
ali mi ne da da menjam ili brisem postojece. Ako se ulogujem kao
administrator mogu sve da radim.

U svakom slucaju, mogu da koristim tekstualnu datoteku koju bih kriptovao
i pozivao u TStringList svaki put kada se pokrene program. Brinu me restrikcije
koje takodje moram da pribelezim u tu istu datoteku, a ima ih mnogo.

Da li postoji nekakva komponenta koja pojednostavljuje citav proces?

Ipak, hvala na trudu. Smislicu vec nesto.
[ Nemanja Avramović @ 18.05.2006. 12:06 ] @
To se u web developmentu resava sa bazom podataka i jednom tabelom gde imas korisnicko ime, md5 hash password-a, status korisnika (admin/user) i definisane privilegije. Mislim da je to i najprakticniji nacin tako da bi mogao time da se pozabavis. Mada ipak sacekaj da jos neko odgovori jer ja ovo nikad nisam radio sa desktop aplikacijama.
[ broker @ 18.05.2006. 12:12 ] @
A za tvoje potrebe moze da ti lepo posluzi i INI, posto Delphi vrlo jednostavno cita i pise INI datoteke (TiniFile) samo kriptuj ono sto ne sme da bude vidljivo u tekstu.
[ marcha @ 18.05.2006. 12:46 ] @
Ukoliko koristis neki rdbms dobar deo posla mozes obaviti grantovima. Ako zelis da se vise zabavis pojedinacnim pravima na nivou odredjenih akcija/resursa, onda bi trebalo da pored tabele sa podacimo o korisnickim nazlozima (USER) kako ti je opisao JeHvram, imas i tabelu u kojoj su zapisane sve moguce akcije iz aplikacije koje zelis da kontrolises (ACTION). Onda napravis i trecu tabelu koja koja je relacija m:n sa tabelama USER i ACTION (USERACTION) i u njoj upisusjes sta kom korisniku iz tabele USER dozvoljavas ili zabranjujes. Po pokretanju aplikacije zapamtis ko se logovao i pre izvrsenja odredjene akcije/procedure ispitas da li aktuelni korisnik ima pravo / zabranu za doticnu operaciju. Ovaj nacin je najsveobuhvatniji. Drugi nacin je vertikalno definisanje prava. Na nivou akcije odredis tip korisnika (user group) koji ima mogucnosti da pristupa resursu. A korisnika pridruzis odredjenoj grupi korisnika. Ovo su ti samo neke ideje, ipak ti sam moras da odlucis kojom korisnickom politikom ces da se vodis u realizaciji projekta.
[ morlic @ 18.05.2006. 21:09 ] @
Kao sto rece broker TIniFile gde ti je jedna sekcija jedan korisnik recimo:


[morlic] // <- Naslov sekcije
Administrator=1
password=4324234234 // Recimo belezis crc password-a, ali ne i sam password

MozeDaStampaIzvestaje=0

PrijemnicaPregled=1
PrijemnicaNova=0
PrijemnicaEdit=1
PrijemnicaBrisanje=0
...

[pera]
Administrator=0
password=465765432
...
itd.


Pa prvo prodjes kroz sekcije i izvadis korisnike. Zatim Kada se korisnik uloguje uzmes
njegova prava (u primeru sam naveo prijemnicu) itd.

Napravis edit prozor (TValueList moze da posluzi, mislim od D7 nisam siguran) u kome Admin
moze da podesava prava za svakog korisnika ponaosob. Ovaj pristup je jednostavan ali da
izvines totalno je nedopustiv u ozbiljnom sistemu gde postoji opasnost od zloupotrebe itd.
Ali ako ti sada radi posao, mislim da jednostavnije i efektnije od ovoga ne moze. U listi prava
korisnika opcije pristupa koje nisu navedene podrazumevaju se kao da su nedostupne.

Naravno TIniFile pre upisa na disk kriptujes ili kompresujes na neki nacin kao ne bi mogao da se
menja sa strane (bar ne lako).


[Ovu poruku je menjao morlic dana 18.05.2006. u 22:11 GMT+1]
[ semiconductor @ 18.05.2006. 22:32 ] @
To mi je trebalo. Svi odgovori mi odgovaraju.
Sve sam to i sam pretspostavljao samo nisam bio siguran
da li je to najjednostavniji nacin.

Od srca se zahvaljujem na odgovorima.