Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Autoryzacja: Grupy.
qbba
post
Post #1





Grupa: Zarejestrowani
Postów: 78
Pomógł: 0
Dołączył: 25.10.2002
Skąd: z kabla:)/ czewa

Ostrzeżenie: (10%)
X----


Witam (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) ,

Nie mogę wymyślić najbardziej optymalnego sposobu "ograniczania" dostępu do niektórych części skryptu (narazie tylko na kartce 8) ).
Chodzi mi o to że do danej części mogą mieć dostęp np. grupy(tych grup może być kilka).
Jak sprawdzić czy użytkownik należy do grupy posiadającej dostęp?? (przypominam tych grup może być kilka, tak samo użytkownik może należeć do kilku grup).

Nie prosze o kompletny kod, wystarczy mi tylko sam zarys "opisowy" (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) .
A jeszcze jedno db nie mam opracowanej wiec w tej kwesti pelna dowolność.

Z góry dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) .
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
DeyV
post
Post #2





Grupa: Zarząd
Postów: 2 277
Pomógł: 6
Dołączył: 27.12.2002
Skąd: Wołów/Wrocław




http://forum.php.pl/viewtopic.php?t=1608

a to moj wlasny przyklad (łączący w prosty sposób parę pomysłów)
[php:1:d49ec08f35]<?php
### 12.2002 by DeyV

function dostep($wymagane=""){
if (!$wymagane){
return(TRUE); // nie ma ograniczeń dostępu
}
elseif( !isset($_SESSION['UPR'] )) {
return(FALSE); //nie zalogowany
}

for ($i=0; $i<strlen($wymagane); $i++){
if( (int)$_SESSION['UPR'][$i] < (int)$wymagane[$i] ){
return(FALSE);
}
}

return(TRUE);
}//func
?>[/php:1:d49ec08f35]
Użycie:
[php:1:d49ec08f35]<?php
dostep('007'); //czyli wymagane uprawnienia tylko z czeciej grupy, ale za to aż 7 poziom
//lub
dostep('1'); //najniższe wymagania
?>
?>[/php:1:d49ec08f35]

Wcześniej oczywiści należy pobrać i zapisać w sesji uprawnienia danego uzytkownika.
Co ciekawe - w ten sposób można łatwo tworzyć grupy użytkowników, dodawać do nich userów, i sumować ich prawa (nakładajac na siebie odpowiednie pozycje z stringa z uprawnieniami)
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 7.10.2025 - 08:23