Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Klasa uwierzytelnienia
eMartio
post
Post #1





Grupa: Zablokowani
Postów: 46
Pomógł: 0
Dołączył: 12.01.2006

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


Witam na forum (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Od 2 lat programuje strukturalnie. Jednak od obecnie jestem w trakcie migracji na programowanie zorientowane obiektowo.

Czy mógłby ktoś z Szanowanych Forumowiczów pokazać mi jak stworzyć przy OOP prostą klasę uwierzytelniającą? Chodzi o to, że chciałbym, aby klasa ta sprawdzała czy user jest zalogowany, jak tak, to kontynuuje działanie aplikacji, a jak nie to ma odesłać na stronę z formularzem logowania.

Stworzyłem coś takiego:
  1. <?php
  2. class MojeUwierzytelnianie {
  3. _construct () {
  4. if ($this->czy_zalogowany()) return TRUE;
  5. }
  6.  
  7. function czy_zalgowany() {
  8. if ($_SESSION['id_user']) {
  9. return TRUE;
  10. } else {
  11. header('location: formularz_logowania.php');
  12. }
  13. }
  14. }
  15. ?>


Chyba jednak nie jest to prawidłowo skonstruowana klasa? Proszę o pomoc i radę.
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Martio_L
post
Post #2





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 2.01.2006

Ostrzeżenie: (0%)
-----


Cytat(NuLL @ 2006-01-12 14:27:46)
  1. <?php
  2.  
  3. class user
  4. {
  5. private 
  6. $userId;
  7.  
  8. public static function instance()
  9. {
  10. $userObj;
  11.  
  12. if($userObj==null)
  13. {
  14. $userObj=&new user();
  15. }
  16.  
  17. return $userObj;
  18. }
  19.  
  20. private function __construct()
  21. {
  22. $this->userId=0;
  23. }
  24.  
  25. public function login($login,$password)
  26. {
  27. //funkcja logujaca
  28.  
  29. //tutaj sie przypisuje $this->userId;
  30. }
  31.  
  32. public function isLogged()
  33. {
  34. return intval($this->userId)>0;
  35. }
  36.  
  37. public function logout()
  38. {
  39. $this->userId=0;
  40. }
  41. }
  42.  
  43. ?>

A moze tak ? Kazdy user ma jakis tam id ktory przypisujesz. Jesli id jest rowny zero to oznacza ze jest to gosc. Co do dwoch pierwszych method odsylam do manuala i wzorca singleton : http://pl2.php.net/manual/en/language.oop5.patterns.php

Dziękuję. Może mi trochę wytłumaczyć działanie tej klasy? Z tego, co na szybkiego przeanalizowałem, klasa ta nie sprawdza zmiennej sesyjnej, abym móc użyć klasy na wielu stronach?
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: 27.12.2025 - 20:06