![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 29.06.2016 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Chce napisać swój pierwszy program w PHP. Będzie to baza danych z uprawnieniami do aplikacji, które maja użytkownicy w firmie. Poziom szczegółowości uprawnień w poszczególnych programach jest różny i czasami wystarczy wiedzieć że użytkownik ma dostęp do danej aplikacji a czasami jedne uprawnienia w programie sa powiązane z innymi. Program będzie zawierał bazę danych z posiadanymi przez userów uprawnieniami i na jej podstawie będzie umożliwiał generowanie nowych wniosków o nadanie uprawnień. Wszystko to jest zrobione za pomocą checkboxów, a ponieważ programów jest sporo, a modułów w nich jeszcze więcej, jest checkboxów grubo ponad setkę. Mam juz taka bazę (zapewne mocno niedoskonałą) napisaną w ASP i wiem jak żmudna jest obsługa każdego wyboru. Już sam formularz z wydrukiem powoduje sporo linijek kodu, a nad baza jeszcze nie zaczęłam pracować. Jak widzicie głównie wykorzystuję instrukcję IF. Czy da się to zrobić prościej? Przykład jak to wygląda u mnie teraz Formularz:
Wydruk:
I pytanie dodatkowe. Jaki typ danych powinnam użyć w MYSQL dla chcekboxa? Jeśli dam bit(1) to dane sie zapisuja do bazy, ale juz nie wyświetlaja potem na stronie (miejsce jest puste). Z tinyint(1) nie mam takiego problemu. używam polecenia |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 872 Pomógł: 94 Dołączył: 31.03.2010 Ostrzeżenie: (0%) ![]() ![]() |
Nie powinnaś używać żadnego typu do checkboxa w bazie danych. Nie mapuj aplikacji na bazę 1:1.
Do uprawnień użyj relacji, najprościej na 3 tabelach: - users id, name, ... - resources id, name, ... - users_resources user_id, resource_id To taki bardzo prosty, podstawowy schemat. Generalnie symfony ma fajny ACL. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 6 380 Pomógł: 1116 Dołączył: 30.08.2006 Ostrzeżenie: (0%) ![]() ![]() |
Poczytaj też o systemach uprawnień przykładowo https://github.com/zendframework/zend-permissions-acl bo takie klepanie ifów nie ma większego sensu.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 2 Pomógł: 0 Dołączył: 29.06.2016 Ostrzeżenie: (0%) ![]() ![]() |
Oglądam to co mi zasugerowaliście. Na razie jestem zupełnie zielona, ale nie jestem pewna tez czy się dobrze zrozumieliśmy... (IMG:style_emoticons/default/wink.gif) Więc się upewnię (IMG:style_emoticons/default/smile.gif)
Mi nie chodzi o sterowanie uprawnieniami w programie, ale o ewidencje uprawnień jakie użytkownicy maja w ogóle w programach. Nie będę wstanie tego wyciągnąć z programów bo nie ja jestem ich autorem, sa one na różnych systemach itd. Chce po prostu jednym kliknięciem widzieć z czego dany user korzysta. Niektórzy takie informacje trzymają w tabelce w excelu a ja chce cos lepszego (IMG:style_emoticons/default/wink.gif) Myślę, że problem mógłby dotyczyć też jakiegoś innego projektu. A może faktycznie sa to gotowe rozwiązania do tego co potrzebuję, ale na razie nie wiem jak to ugryźć (IMG:style_emoticons/default/wink.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 23.08.2025 - 15:35 |