Zarządzanie [ort!] w delphi???

0

Witam Wszystkich!
Mam male doswiadczenie z Delphi dlatego chcialbym zasiegnac pomocy. Chcialbym napisac prostą aplikacje zebym mogl zarządzać klientami firmy. Juz wlasciwie jestem przy koncu ale teraz chcialbym zrobic taka rzecz, że moge nadawac uprawnienia ort!, np. Jest nas 5-ciu i kazdy zeby mogl sie logowac na swoje <ort>chaslo </ort>ktore ja wprowadze i jak juz sie zaloguje na to haslo zebym mu nadal uprawnienia co moze a co nie???Czyli na przyklad nie moze usunac klienta z bazy a dodac na przyklad moze itp????? Program jest na bazie Paradox napisany w delphi 7 Ent. Jesli ktos ma jakies pomysly to prosze o pomoc????? Pozdrawiam....

0

Najprostszy sposób :

if Edit1.Text = haslo_Mietka then
begin
  Button1.Enabled = true; // Button służący do dodawania do bazy
  Button2.Enabled = false; // Button służący do usuwania z bazy
end;

Czyli jeśli użytkownik wprowadzi hasło i zostanie rozpoznany jako Mietek to będzie mógł dodać zapis do bazy ale nie będzie mógł nic z niej usunąć. Takie rozwiązanie jest łatwe do złamania ale w większości przypadków jest wystarczające.

0

oki powiedzmy ze wczesniej rozwazalem takie rozwiazanie ale jak teraz pobrac haslo_Mietka z bazy ??? Program powinien byc na tyle elastyczny ze jak go dam np. komus kto bedzie go potrzebowal i bedzie mial pod soba jakis ludzi zeby ten ktos bez wiekszej znajomosci programowania mogl sam dowolnie dodawac i usowac uzytkownikow oraz nadawac im uprawnienia????? donbrze byloby zeby hasla byly w bazie razem z urzytkownikami tylko jak zrobic to w Delphi zeby jakos wygladalo ????

0

po pierwsze musisz się zastanowić jakie uprawnienia będą Ci potrzebne oraz które rzeczy w Twoim programie user może wykonać zawsze, a które muszą być chronione uprawnieniami. Teraz trochę poteoretyzuje, żeby Ci przybliżyć to o czym mówię :).

Załóżmy, że Twój program (np. prosty program do fakturowania) ma następujące funkcjonalności

  1. Zarządzanie userami
  2. Kartotekę materiałów
  3. kartotekę klientów
  4. kartotekę zamówień
  5. kartotekę faktur
    Pod hasłem kartoteka mam na myśli jakiś wycinek bazy, który pozwala na przechowywanie danych dotyczących danej kartoteki (nie musi to być jedna tabela!) oraz wszystkie formy w programie, które służą do operacji na danym kawałku programu.

Teraz załóżmy, że kartoteka może być albo dostępna bez ograniczeń dla wszystkich albo mieć nałożone ograniczenia w zależności od zalogowanego usera. Tych ograniczeń może być 4
a) przeglądanie
b) dodawanie
c) zmienianie
d) usuwanie

Np. (cyfry oznaczają funkcjonalność, litery ograniczenie)
do 1 powinien mieć dostęp (a, b, c, d) tylko szef firmy
do 2 a powinni mieć wszyscy natomiast a, b, c, d osoby, które zajmują się magazynem
do 5 a wszyscy, a, b osoby, które zajmują się dodawaniem faktur, a, b, c główna księgowa, a, b, c, d szef
Mam nadzieję, że jest to zrozumiałem :)

Teraz jak to w praktyce można zrealizować (nie mówię oczywiście, że jest to jedyna słuszna droga).
przyporządkowujemy poszczególnym ograniczeniom kolejne bity (dlaczego tak o tym za chwilę), czyli
a) przeglądanie - 1
b) dodawanie - 2
c) zmienianie - 4
d) usuwanie - 8
W ten sposób ponieważ zapisując uprawnienia w bazie w zmiennej typu Byte (Number(1)) w bardzo łatwy sposób możemy wyłuskać, czy dane ograniczenie jest on czy off:
if (ograniczenie and 1) <> 0 then on else off
if (ograniczenie and 2) <> 0 then on else off
if (ograniczenie and 4) <> 0 then on else off
if (ograniczenie and 8) <> 0 then on else off

Wiemy już co dany user może a czego nie, pora teraz powyłączać mu odpowiednie guziki. Masz np. formę, która odpowiada za 1 (zarządzanie userami) - sprawdzasz, jakie ograniczenia dla 1 ma zalogowany user i wg nich włączasz lub wyłączasz guziki pokaż, dodaj, modyfikuj, usuń. I tyle.

Co do samego trzymania userów w bazie to tabela może wyglądać tak:
id_usera
login
pass
ogr_funkc_1
ogr_funkc_2
ogr_funkc_3
ogr_funkc_4
ogr_funkc_5

0

OOOOOO Ja J....e 8-O 8-O 8-O 8-O 8-O 8-O 8-O 8-O 8-O Tak w sumie to wszystko jasne ale od momentu

"Np. (cyfry oznaczają funkcjonalność, litery ograniczenie)
do 1 powinien mieć dostęp (a, b, c, d) tylko szef firmy
do 2 a powinni mieć wszyscy natomiast a, b, c, d osoby, które zajmują się magazynem
do 5 a wszyscy, a, b osoby, które zajmują się dodawaniem faktur, a, b, c główna księgowa, a, b, c, d szef
Mam nadzieję, że jest to zrozumiałem" cos niebardzo ;( ;( ;(

Będę bardzo wdzięczny za troszke dokładniejsze przyblizenie mi sprawy albo za jakis maly przykładzik... Ewentualnie jakis link gdzie moglbym znalezc źródełko i sie wzorowac na nim.... Z góry wielkie dzieki [browar] [browar]

0

dobra, to trochę inaczej

do "Zarządzanie userami" powinien mieć dostęp (przeglądanie, dodawanie, zmienianie, usuwanie) tylko szef firmy
do "Kartotekę materiałów" przeglądanie powinni mieć wszyscy natomiast przeglądanie, dodawanie, zmienianie, usuwanie osoby, które zajmują się magazynem
do "kartotekę faktur" przeglądanie wszyscy przeglądanie, dodawanie osoby, które zajmują się dodawaniem faktur, przeglądanie, dodawanie, zmienianie główna księgowa, przeglądanie, dodawanie, zmienianie, usuwanie szef

są to wymyślone uprawnienia

co do linków to po polskiemu raczej nic nie znajdziesz :( - jak Ci się chce to poczytaj to a tu masz komponent, który rrealizuje coś takiego (jednak płatny)

1 użytkowników online, w tym zalogowanych: 0, gości: 1