ďťż
Podstrony
|
telcocafeHi. mam napisać pracę na informatykę, mogłem nawet podać swój temat. Wymyśliłem, podałem i mnie pokarało. Wymysliłem sobie portal szkolny z możliwością logowania, zakładania kont, ale przede wszystkim, do prowadzenia pewnego rodzaju dziennika lekcyjnego. No i zaczęły się problemy.1. Portal winien opierać się na bazie danych. 2. System rejestracji i logowania:
ll hasła są szyfrowane; ll możliwość przypomnienia hasła; ll możliwoś zmiany danych poprzez użytkownika w ograniczonym zakresie; ll do zalogowania wykorzystywany jest mechanizm sesji.l
ll dyrektor - zarządzanie szkołą, klasami, nauczycielami, uczniami; ll wychowawca - zarządzanie klasą; ll nauczyciel - zarządzanie nauczanymi przedmiotami; ll opiekun - zarządzanie kontem ucznia; ll uczeń - zarządzanie własnym kontem.l 4. Portal powinien umożliwiać komunikację pomiędzy wszystkimi szczeblami poprzez:
ll PW; ll GG; ll bramkę SMS; ll shoutbox; ll chat.l Punkty 1. i 2. mam w miarę opanowane, 4. wydaję się łatwy... Punkt 3. spędza mi sen z oczu. 1. Jak wykonać kilkustopniowy poziom autoryzacji (coś na podobę forum - admin, moderator, user); 2. Jak potworzyć zależności (np: nauczyciel=>uczniowie); 3. Jak wykonać panel logowania dla podwójnej autoryzacji (administrator i dyrektor muszą jednocześnie wpisać hasła). Mam więcej niejasności, zabierałem się do roboty z kilku stron, ale zawsze zabłądzę w ślepy zaułek. Mógłby mi ktoś zapalić światełko w tunelu? administrator - zarządzanie portalem; dyrektor - zarządzanie szkołą, klasami, nauczycielami, uczniami; wychowawca - zarządzanie klasą; nauczyciel - zarządzanie nauczanymi przedmiotami; opiekun - zarządzanie kontem ucznia; uczeń - zarządzanie własnym kontem. tworzysz w bazie danych tabelę o nazwie uprawnienia, w której umeszczasz takie kolumny: id_u //id użytkownika administratorzy dyrektorzy wychowawca nauczyciel opiekun uczeń jeżeli jesteś adminem to dajesz w kolumnie administratorzy 1 jeżeli dyrektor to dajesz jeden w dyrekcji i tak dalej nie napisałęś na jakiej bazie danych to stawiasz więc mogę to tylko tak pasywnie sugerować. w InterBasie masz na przykład możliwość utworzenia użytkowników i ustawienia ich ról (czyli określić poziom dostępu do danych w bazie). wtedy wyglądałoby to tak że : administrator ma read write do wszystkiego, dyrektor read write do wszystkiego co nie dotyczy samego portalu (not allowded) i tak dalej na końcu jest uczeń który ma read write do swojej tabeli i ewentualnie read dla klasy ehh rzeczywiscie "srednio" madry wybór... ;) teraz pytania: w miejscu bazy, gdzie masz zapisane profile dodaj jedno pole oznaczajace range,np: 1-uczen, 2-opiekun, 3-nauczyciel itd. pozniej przy stronach do ktorych dostep maja tylko ci z wyzszego miejsca w hierarchii dajesz if'y, np: if($ranga<3){ echo 'nie mozesz tutaj wejsc'; } else{ //tutaj to do czego maja miec dostep wazniacy :) } co do trzeciego pytania, to mozesz jasniej, bo nie do konca czaje o co chodzi...? Dziękować, trochę naprowadziliście mnie na trop. Jeżeli chodzi o bazę to wybór padł na MySQL. Co do uprawnień, rozumiem, że podany kod umieszczam tam, gdzie ma być dostęp lub nie. W przypadku, jeżeli dostęp ma uzyskać kilka "rang" mogę wykożystać np case? Nie kumam tylko: jeżeli jesteś adminem to dajesz w kolumnie administratorzy 1 jeżeli dyrektor to dajesz jeden w dyrekcji i tak dalej Proszę jaśniej... Dziękować, trochę naprowadziliście mnie na trop. Jeżeli chodzi o bazę to wybór padł na MySQL. Co do uprawnień, rozumiem, że podany kod umieszczam tam, gdzie ma być dostęp lub nie. W przypadku, jeżeli dostęp ma uzyskać kilka "rang" mogę wykożystać np case? Nie kumam tylko: Proszę jaśniej... OK, mam bazę danych, gdzie tabela o nazwie uprawnienia, zawiera kolumny: CREATE TABLE uprawnienia ( id_uzytkownika tinyint(1) NOT NULL default '0', administrator tinyint(1) NOT NULL default '0', dyrektor tinyint(1) NOT NULL default '0', wychowawca tinyint(1) NOT NULL default '0', nauczyciel tinyint(1) NOT NULL default '0', opiekun tinyint(1) NOT NULL default '0', uczen tinyint(1) NOT NULL default '0', PRIMARY KEY (`id_uzytkownika`) ) TYPE=MyISAM; Jak zamienię 0 na 1 będę miał dostęp, rozumiem. Ale to chyba musiałaby być tabela do każdego poziomu, np. KLASA 1, KLASA 2, KLASA 3? A gdyby to była tabela users, gdzie przechowywałaby dane wszystkich userów (dyra, nauczycieli, itd) a zawierałaby kolumny ranga i uprawnienia, które nadawałby tylko np. dyro, wklepywałby do formularza dane delikwenta i ustalał z menu, np. Kowalski Jan: wychowawca - KLASA 3, przedmioty - Matma, KLASA 3, KLASA 4... a system sam by przydzielał by rangi i uprawnienia... no widzisz :) jak pięknie poszło w tabeli nauczyciel dajesz kolumny klasa przedmiot i już jadziesz dalej :) teraz tabela uprawnienia powie ci jakiej klasy informacje może czytać bądź zmieniać user a dla przykładu właśnie tabela nauczyciele powie konkretnie jakie dane z danej klasy może czytać :) i teraz jak dyro wybierze kowalski wychowawca klasa 1 przedmiot matma klasa 1 2 3 4 to skrypt musi zrobić tak pobrać id użytkownika o nazwisku kowalski do tabeli wychowawca dodać rekord z id usera i w kolumnie wychowawca i nauczyciel wpisać jedynki w tabeli wychowawca dodać id usera i klasę jakiej jest wychowawcą w tabeli nauczyciel dodać 4 razy usera dopisując przedmiot matma i klasy od 1 -4 Użytkownik j-mail edytował ten post 11 marzec 2005, 16:46 No już kumam nieco... Problem nastręcza mi jeszcze logowanie oparte na bazie i sesjach i przełączanie pomiędzy szablonami z wystrojem. Właśnie z tym walczę i z jakiej tylko strony zacznę klepać, zawsze wychodzi mi przystanek autobusowy... |
|||
Sitedesign by AltusUmbrae. |