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

Projektovanje tabele za korisnike

[es] :: Access :: Projektovanje tabele za korisnike

[ Pregleda: 2310 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

biljana.66
BB

Član broj: 187444
Poruke: 17
*.teol.net.



Profil

icon Projektovanje tabele za korisnike10.07.2008. u 09:03 - pre 192 meseci
Cao svim na forumu. Prvo da vas pozdravim jer mi je ovo i prva poruka koju vam pisem. :)

Moj problem je sledeci:

Radim neki program u VB6, programu pristupam upisivanjem korisnickog imena i sifre iz baze podataka.
Sada bi htjela da napravim u bazi da svaki korisnik ima neka ogranicenja, ali ne znam kako to da isprojektujem.
Sto se tice ogranicenja zamislila sam ovako:

Imam MDI formu - MDIMain, 5 Obicni formi, frmPregled, frmKorisnici, frmZaposleni, frmObavjestenje, frmPregledLogovanja, u zavisnosti koja je forma u njima imam dugmad - cmdDodaj, cmdDopuni, cmdIzbrisi.

E ovako kako da uradim tabelu, ili vise tabela u kojim omogucujem:

Korisnik npr. Marko Maric moze otvoriti frmPregled i u njoj moze Koristiti cmdDopuni, tako i za sve ostale forme.

Nadam se da sam bila barem malo jasna.

Moj pozdrav svima, pomozite ako mozete. Hvala.
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
*.bilokalnik.hr.



+8 Profil

icon Re: Projektovanje tabele za korisnike10.07.2008. u 09:39 - pre 192 meseci
Pozdrav i tebi biljana.

Ja bi to riješio ovako

Dodao bi još jedno polje u tablicu korisnika , tamo gdje ti je šifra
polje bi se zvalo recimo nivo_korisnik = numerik

i sad bi svakom korisniku dodala nivo pristupa podacima

npr

1= sva prava nad podacima
2 = ispravak,pregled
3 = pregled

itd ....

Deklarirala public varijablu P_nivo

kod citanja tablice bi izjednačila
P_nivo=nivo_korisnik

i sad bi morala dodat na tipke malo koda

recimo na tipki brisanje na on_klik

if P_nivo>1 then
msgbox "Nemate dozvolu brisanja"
Exit sub ' ili exit function
endif


Moj prijedlog bi to bio ...
Pozdrav

 
Odgovor na temu

Scelle
Slavko Šćekić
Student, Računarski fakultet
Beograd

Član broj: 151761
Poruke: 174
194.106.175.*



Profil

icon Re: Projektovanje tabele za korisnike10.07.2008. u 16:24 - pre 192 meseci
I ja isto uvijek u tblKorisnici imam i polje GRUPA (obicno su to tri nivoa: User, SuperUser, Administrator) i u zavisnosti od njegove vrijednosti dodijelim odredjena prava korisnicima.

Ako ti korisnici nisu bas napredni, mozes da sakrijes odredjenu dugmad na formi u zavisnosti od grupe kojoj trenutni korisnik pripada. Naravno, pod uslovom da te komande nema u drugim menijima. Na primjer, ako grupa User nema pravo brisanja, njima neces ni prikazati dugme za brisanje (ovo cesto primenjujem).
Napravim funkciju koja mi vraca grupu (naravno, moze da prodje i globalna prom.) trenutno ulogovanog korisnika i koristim nesto ovako:

select case (Grupa()){
case "User": btnDodaj.Visible=false; btnBrisi.Visible=false.....
case "SuperUser": btnDodaj.Visible=true;.........
case "Administrator":................}

Ne znam odakle mi ova semnatika, ali bitan je princip. :) A princip je jasan.

Naravno, treba napomenuti da je Trtkov predlog mnogo sigurniji, u smislu da ja ne znam nacin da se zaobidje ogranicenje postavljeno direktno na tabelu. Ali, ja sam rijetko imao potrebe za takvim ogranicenjima. A gledajuci opis tvoje aplikacije, rekao bih da i nije bas sigurnosno-kriticna. :)

Pozdrav...
"Takozvani praktični ljudi bili bi korisni i zasluživali bi svaku pohvalu i poštovanje kad od te svoje praktičnosti ne bi hteli da naprave smisao života i razlog svoga opstanka, opravdanje za podjarmljivanje i terorisanje svih onih koji su lišeni toga praktičnog smisla, ali zato stvoreni za druge, možda više i bolje podvige."

Ivo Andric
 
Odgovor na temu

domaci_a_nas
PHP developer

Član broj: 42333
Poruke: 524
*.dynamic.sbb.rs.



+8 Profil

icon Re: Projektovanje tabele za korisnike10.07.2008. u 21:09 - pre 192 meseci
Trle, jel' si sad odgovorio na temu il' mi se opet pričinjavaš ?

Evo šta ja mislim. U tabeli napravi polje AccessLevels (NivoiPristupa po naški). Popuni ga recimo sa brojevima 1010101. Zatim u toj mdiMain napravi array dugmića Dugme(1), (2).... i tako dalje, pošto su u pitanju VB6 forme. Onda ti "samo" treba sledeći kod :
Code:
Dim I As Byte
For I = 1 To Ubound(Dugme) ' - ako ne može ovako onda nek ide For I = 1 To 6 ili koliko već dugmića imaš
Dugme(I).Enabled = Mid(AccessLevel, I, 1) = "1"
Next I


Tako ćeš onemogućiti korisnika da stisne tačno određeno dugme koje otvara običan form, ili vrši neku drugu funkciju. Eto, imaš više varijanti, al' svaki ciga svoga konja hvali, meni ovo moje deluje najfleksibilnije
Ozbiljan i odgovoran mladić
 
Odgovor na temu

Scelle
Slavko Šćekić
Student, Računarski fakultet
Beograd

Član broj: 151761
Poruke: 174
194.106.175.*



Profil

icon Re: Projektovanje tabele za korisnike10.07.2008. u 22:19 - pre 192 meseci
Fleksibilno svakako jeste i ideja je odlicna, ali sa povecanjem broja kontrola povecava se kolicina informacija koju moras upamtiti - a to ljudi ne vole. Sto manje napora, a sto vise odradjenog posla - to je korisnicka mantra. I OK je dok ona "administrira" aplikaciju, ali sta kad "preda stafetu" nekom ko nema toliko iskustva? Sta da kaze? "Znas, ovdje upises 10011..."? :) Ili, ako ima vise formi na kojima treba da kontrolise prava? Za svaku formu posebno polje u tabeli? Ili to ili napraviti takav sablon da svaka forma aplikacije ima isti broj btn kontrola sa istim funkcijama, sto je prilicno... Nerealno.
Ja ipak mislim da su 3-4 predefinisana korisnicka nivoa sasvim dovoljna, i da nema potrebe za tolikim stepenom kontrole.

Pozdrav!

EDIT: Evo dijela koda iz jedne moje aplikacije (u Access-u), koji zabranjuje ili dozvoljava odredjene akcije u zavisnosti od grupe kojoj korisnik pripada. Kod se odradjuje na OnOpen event forme:
Code:
Gru = grupa()
If Gru = "Administrator" Or Gru = "Power User" Then
   Me.AllowDeletions = True
   Me.AllowEdits = True
   Me.AllowAdditions = True
Else
    Me.AllowDeletions = False
    Me.AllowEdits = False
    Me.AllowAdditions = False
End If

"Takozvani praktični ljudi bili bi korisni i zasluživali bi svaku pohvalu i poštovanje kad od te svoje praktičnosti ne bi hteli da naprave smisao života i razlog svoga opstanka, opravdanje za podjarmljivanje i terorisanje svih onih koji su lišeni toga praktičnog smisla, ali zato stvoreni za druge, možda više i bolje podvige."

Ivo Andric
 
Odgovor na temu

biljana.66
BB

Član broj: 187444
Poruke: 17
*.teol.net.



Profil

icon Re: Projektovanje tabele za korisnike11.07.2008. u 07:51 - pre 192 meseci
E ovako procitala sam sve sta ste napisali a u medjuvremenu sam napravila jedan primjer i izgleda ovako uradila sam 3 tabele, tblKorisnici, tblOdobrenja, tblKorisnickaOdobrenja.

tblKorisnici:
-RedniBroj
-ImeiPrezime
-KorisnickoIme
-Lozinka
-AdminStatus

tblOdobrenja
-Odobrenje

tblKorisnickaOdobrenja
IDKorisnik
IDOdobrenje


Povezala sam tabele ovako:
tblKorisnici.RedniBroj sa tblKorisnickaOdobrenja.IDkorisnik i tblOdobrenja.Odobrenja sa tblKorisnickaOdobrenja.IDOdobrenja.

U tabeli tblOdobrenja ja unesem podatke tipa: Pregled Otpremnica, Dodaj Otpremnica, Storniraj Otpremnica ........ itako za sve ostalo, e onda u programu prilikom kreiranja Korisnika uz polja AdminStatus imam 2 opcije Administrator, Klijent e sada mogu mi neki klijenti raditi razlicite operacije i preglede npr. ako jedan moze da radi sa Otpremnicama drugi ne zato drugi nesto drugo radi, i pomocu toga da izaberem sta ce jedan a sta drugi ne moze mi se to uraditi da postavim AdminStatus mpr. Administrator, Klijent, SuperAdministrator, zato sto sve zavisi sta odaberem da svako radi.

Onda u VB pisem kod:

Code:


Prilikom logovanja podaci iz tabele tblKorisnickaOdobrenja upisuju mi se u konstante i onda radim provjeru:

npr. prilikom otvaranja forme, a tako ide i za sve ostalo:

If sAdministrator.sOtvoriOtpremnicu = cOtvoriOtpremnicu Then
     With frmOtpremnica
          .IDOtpremnica = sOtpremnicaNalog
          .Show
     End with
Else
     MsgBox "Pristup Vam nije odobren!", vbInformation
End If




Mozete mi reci dali je ovo korektno i kako se pokazuje po Vasem misljenju???
Pozdrav
 
Odgovor na temu

Scelle
Slavko Šćekić
Student, Računarski fakultet
Beograd

Član broj: 151761
Poruke: 174
194.106.175.*



Profil

icon Re: Projektovanje tabele za korisnike12.07.2008. u 00:25 - pre 192 meseci
U sustini, najbolje je ono sto ti najbolje znas da uradis. :) Mene barem, uvijek takva rjesenja zadovolje...

Ja sam misljenja da visoko kriticne aplikacije treba stititi onim sto nudi Access. To je prilicno sigurno i pruza maksimalnu kontrolu uz relativno malo rada. U ovom primjeru, konkretno, kada imas mnogo korisnika sa razlicitim pravima, ja bih se bez razmisljanja odlucio za Access-ov security.

Manje kriticne aplikacije (kakve se obicno i prave u Access-u) po mom skromnom iskustvu, opet kazem, ne zahtijevaju vise od 4 nivoa pristupa - u vrh glave. A time se lako moze manipulisati i iz koda.

Pozdrav...
"Takozvani praktični ljudi bili bi korisni i zasluživali bi svaku pohvalu i poštovanje kad od te svoje praktičnosti ne bi hteli da naprave smisao života i razlog svoga opstanka, opravdanje za podjarmljivanje i terorisanje svih onih koji su lišeni toga praktičnog smisla, ali zato stvoreni za druge, možda više i bolje podvige."

Ivo Andric
 
Odgovor na temu

Trtko
Koprivnica

Član broj: 69494
Poruke: 695
87.252.155.*



+8 Profil

icon Re: Projektovanje tabele za korisnike13.07.2008. u 20:21 - pre 192 meseci
Još da se nadovežem, aplikaciju na koju se prijavljuje više korisnika
a potrebno je zbog nekih kontorla, još upisujem u polje i šifru korisnika
tako da se zna tko je kad nešto mijenjao ili dodavao.

A koristim i dva nivoa pristupa na istoj aplikaciji

N - nabava može raditi zahtjevnice, upite i narudžbe

N , 1 - nivo , može ispravljati , brisati sve zahtjevnice , i odobravati
N, 1 - ima pristup i do izrade narudžbenica i upita ??

I, 1 - informatika, samo može izradjivat zahtjevnice i odobravati ih , naravno i preglede

itd...

tako da u tablici lozinke imam i polja iz kojeg je odjela, i koji nivo pristupa ima korisnik

15 korisnika koristi tu aplikaciju za nabavi i dosta dobro šljaka.

e sad , po tvojoj potrebi ti si sama smisli način pristupa, ja ovo trabunjam onako sam za sebe
valjda zbog apstinencije pivske

pozdrav svima

 
Odgovor na temu

[es] :: Access :: Projektovanje tabele za korisnike

[ Pregleda: 2310 | Odgovora: 7 ] > FB > Twit

Postavi temu Odgovori

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