Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

kako da postavim privilegije korisnika u aplikaciji

[es] :: .NET :: kako da postavim privilegije korisnika u aplikaciji

[ Pregleda: 2660 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

pile_naucnik
NS

Član broj: 70493
Poruke: 67
*.138.eunet.yu.



Profil

icon kako da postavim privilegije korisnika u aplikaciji20.11.2006. u 21:39 - pre 212 meseci
Imam problem, tj. nejasnocu.
Za seminarski rad radi aplikaciju, za koju pre izrade iste treba da napravim i UML model.
Tek sam na pocetku, a prvi put radim na objektno orjentisani nacin. Program treba da napravim u C# ili VB.Net-u.

Zapelo mi je na samom pocetku. Napravio sam Use-case dijagram, a sada sam poceo da radim Class diagram.

U UC dijagamu sam postavio Aktere, odnosno jednog uopstenog i dva koji nasleđjuju prvog.
Da pojasnim imam uopstenog aktera korisnik, i istog nasledjuju ObicniKorisnik i VisiKorisnik.
Izmedju ObicnogKorisnika i VisegKorisnika nema razlika, odnosno imaju iste atribute i iste metode.
Razlika je recimo sto VisiKorisnik moze da stampa dokumenta, a ObicniKorisnik ne.
Isto tako u okviru klase Osoblje (ta klasa bi trebala da se kaci na bazu i uzima podatke o osoblju) imam metodu Pregled
i metodu Upis, odnosno metdu Brisi. ObicniKorisnik treba da ima pristup samo metodi Unos, a VisiKorisnik svim metodama.

Da li dobro razmisljam? Da li da pravim dve kalse korisnika koje nasledjuju generalnu klasu?
Razmisljao sam da korisnicima dodelim atrubut NivoPristupa, koji bi imao vrednosti 0 ili 1 (ObicniKorisnik i VisiKorisnik).
Tada bi npr. kod pozivanja metode Upis u klasi osoblje proverio da li je vrednost NivoPristupa 1 i dozvolio izvrsavanje akcije,
a u slucaju vrednosti 0 dugme Upis stavio na Visible=false ili mozda prikazao poruku da akcija nije dozvoljena.

Na ovaj nacin aplikacija bi sigurno radila, ali to nije to, jer mozda nekad pozelim da dodam novu vrstu korisnika sa drugacijim
privilegijama.

Drugar mi je rekao da on u Oraklu koristi role za slicne stravi.
U MSDN sam nasao klasu Role-based security, ali nisam bas ukapirao kako radi, odnosno ne zanm da li pomocu nje mogu resiti problem.

Svaka pomoc i savet su dobro dosli.

Hvala unapred!
 
Odgovor na temu

sstanko78
Novi Sad

Član broj: 19139
Poruke: 411
*.beotel.net.



Profil

icon Re: kako da postavim privilegije korisnika u aplikaciji20.11.2006. u 22:32 - pre 212 meseci
Pa vidi u praksi imamo jednog korisnika, kome dodeljujemo ili oduzimammo privilegije
potpuno dinamicki, na osnovu unapred unetih podataka u bazi.
Sve, meni i pristup formama se odredjuje na osnovu dve
ili vise tabela u bazi. I to je to.
User klasa je imala funkcije koje su onemogucavale menije
i prikaz formi (ili suprotno, omogućavale)

Na jednom drugom projektu sam imamo npr. dva korisnika admin-a
i obicnog usera. Admin je mogao sve, a user da koristi samo
par funkcija menija.

Citat:
mozda prikazao poruku da akcija nije dozvoljena.


Ovo zna da deluje malo zbunjnujuće korisniku
"A zasto je dugme tu kada nesmem ........ ?"
 
Odgovor na temu

pile_naucnik
NS

Član broj: 70493
Poruke: 67
*.241.eunet.yu.



Profil

icon Re: kako da postavim privilegije korisnika u aplikaciji20.11.2006. u 22:50 - pre 212 meseci
Ok shvatio sam - treba da imam samo jednog korisnika, bez dodatna dva koji nasledjuju.
Tako nesto sam i pretpostavljao, ali nisam bio siguran, jer u Use-case dijagramu imam tri aktera (dva nasledjuju jednog) i tu se vidi da jedan od ta dva moze da stampa a drugi ne, kao i ostala ogranicenja.
Ako Class dijagram napravim sa jednim korisnikom, onda ce on biti u koliziji sa UC dijagramom. Da li je to u UML-u dozvoljeno.

Stanko, mozes li da mi pojasnis kako se koriste te tabele u bazi.
I posto imam klasu Osoblje, sa vise metoda, kako kada tu klasu instanciram mogu da omogucavom, odnosno neomogucavam pokretanje odredjenih metoda?

hvala na brzom odgovoru.
 
Odgovor na temu

negyxo
Aleksandar Perkuchin

Član broj: 29751
Poruke: 898
*.sksyu.net.



+171 Profil

icon Re: kako da postavim privilegije korisnika u aplikaciji21.11.2006. u 11:55 - pre 212 meseci
Citat:

Drugar mi je rekao da on u Oraklu koristi role za slicne stravi.
U MSDN sam nasao klasu Role-based security, ali nisam bas ukapirao kako radi, odnosno ne zanm da li pomocu nje mogu resiti problem.


Isto se radi i na SQL Serveru. I ovo je, po meni, najbolji metod ako se vec radi preko SQL Server-a. Razlog je sto je to najnizi nivo i nema potrebe za dupliranjem stvari i resavanjem u nekakvom visem sloju (recimo WinForms) sem mozda zbog GUI da bi user imao bolju predstavu sta sme a sta ne sme da radi.
Nacin na koji se to radi je dosta jednostavan. Na SQL Serveru kreiraj rolove koje mislis da ce biti potrebni i zatim ih dodeljuj korisnicima u kojoj god hoces kombinaciji. Ovde treba napomenuti da onda moras autentikovati svakog korisnika zasebno. Znaci nema ono, jedan korisnik za sve korisnike, sto je cest slucaj sa ASP aplikacijama osim ako se ne radi impersonation za Windows Authentication ili se ide na SQL Server Authentication.
 
Odgovor na temu

colke77
Dragan Colić
Beograd

Član broj: 74309
Poruke: 194
195.252.107.*



+12 Profil

icon Re: kako da postavim privilegije korisnika u aplikaciji21.11.2006. u 13:15 - pre 212 meseci
Mozda sam ja neupucen u UML, ali nisam znao da aktori (useri) mogu da se nasledjuju. Kolko ja znam ako imas takvu situaciju onda pravis dva usera. Proveri ti taj tvoj UML.

Moj ti je savet, ako si naumio da radis kako si zamislio - da problem resis preko softverskih klasa da napravis jednu klasu Osoblje. Ta klasa nece imati instancu, vec samo definisane neke najopstije metode koje ce koristiti sve klase koje nasledjuju ovu klasu (ti si naveo metoda Unos - OK). Klasa VisiKorisnik i Obican korisnik treba da ti naslede klasu Osoblje. Dodatno jos sta treba da uradis je da impementiras metode koje ce imati VisiKorisnik (Brisi). Ovo ti je skoro pa primer iz udzbenika kako se koristi nasledjivanje u objektno orjentisanom programiranju. U sustini srz OO Programiranja je da na ovako lak nacin resava probleme poput tvojih. Na taj nacin VisiKorisnik moze da vrsi i Unos i Brisanje, a obican korisnik samo unos.

Kako si pocetnik sa OO programiranjem, preporucujem da uradis na ovaj nacin, tako ces se i vezbati i bolje skapirati dragocenosti koje nosi objektni pristup (samo polako i bez zurbe, na prakticnim stvarima se najbolje uci).

Jos nesto zaboravih da kazem. Naravno korisnik treba da se identifikuje svojim username-om i password-om. A onda uporedjujes taj username sa svim korisnicima koje ces cuvati negde (da li u tabeli, ili kao rolove) i vidis da li je ObicanKorisnik ili VisiKorisnik. Na osnovu toga kreiras instancu odgovarajuce klase i to je to.
Idemo dalje
 
Odgovor na temu

pile_naucnik
NS

Član broj: 70493
Poruke: 67
*.70.eunet.yu.



Profil

icon Re: kako da postavim privilegije korisnika u aplikaciji21.11.2006. u 18:49 - pre 212 meseci
Uglavnom sam shvatio, i nadam se da necu imati problema da primenim ovo.
Ipak, posto sam tek na pocetku siguran sam da cu imati jos nejasnoca, tako da ce biti jos mojih postova sa pitanjima.

Hvala svima jos jednom
pozdrav
 
Odgovor na temu

maksvel

Član broj: 107376
Poruke: 2417

Jabber: maksvel
Sajt: maksvel.in.rs


+161 Profil

icon Re: kako da postavim privilegije korisnika u aplikaciji22.11.2006. u 07:01 - pre 212 meseci
Da iskoristim ovaj topic...
Šta ako hoćemo autentifikaciju preko role-management-a, a imamo svoju bazu koju bismo da koristimo? Koliko sam pročitao, onda treba praviti custom Membership provajdera... Kakva je situacija u praksi?
Što se tiče Use-case-a, korisnici se mogu nasleđivati.
Ovde sam ostavio jedan primer modelovanja, možda pomogne...
 
Odgovor na temu

[es] :: .NET :: kako da postavim privilegije korisnika u aplikaciji

[ Pregleda: 2660 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.