• Kontakt
  • O systemie
  • Strona główna
Pomoc
  • Założenia systemu
  • Praca z systemem
  • Opcje
  • Szablony
  • Moduły
  • Edytor HTML
  • E-commerce - sprzedaż online
  • Inne zagadnienia
    • Generowanie sitemap.xml
    • Autogenerowanie słów kluczowych
    • Mechanizm przypisywania do wielu kategorii
    • Wirtualne katalogi - przekazywanie zmiennych
    • Zewnętrzne biblioteki
    • Tagi
    • Konwersja video
    • Plik konfiguracyjny
    • Skrypty użytkownika w systemie
    • System uzytkowników - frontend
  • Przykłady rozwiązań

System uzytkowników - frontend

Baza użytkowników

Tabela użytkowników to jedna z baz definiowana w opcji Narzędzia -> Bazy. Zalecana nazwa bazy to "users" (domyślnie)
Opcjonalnie nazwa bazy użytkowników może nosić inną nazwę zdefiniowaną w zmiennej users_base
Podstawowa struktura bazy użytkowników:
  • login - pole typu Tekst krótki (text) - z opcją "niepowtarzalne wartości" (klucz typu unique) - zależnie od konwencji można przyjąć, że loginem będzie e-mail (zalecane) lub login jako dodatkowy identyfikator niezwiązany z adresem e-mail
  • pass - pole typu Hasło (pass) - hasło - hasło jest haszowane - bez możliwości odczytu
  • uid - pole typu Tekst krótki (text) - z opcją "niepowtarzalne wartości" (klucz typu unique) - dodatkowy niejawny identyfikator użytkownika - służy jako ciąg do potwierdzenia uprawnień do danego adresu e-mail - przy zakładaniu konta oraz resetowaniu hasła
Dodatkowe pola określające np dane osobowe można zdefiniować dowolnie.

Przykład prostej struktury bazy użytkowników (Administracja XML import)

Grupy użytkowników

Przypisanie użytkowników do grup dobywa się w zakładce "Pola specjalne" - pole "Prawa dostępu"
Grupy użytkowników definiuje się w ustawieniach w zmiennej "ugroups" - pierwsza grupa to "Goście" - zarezerwowana dla użytkowników niezalogowanych. Niezalogowany gość na stronie domyślnie otrzymuje uprawnienia do tej grupy.
Zalecane jest aby kolejną grupę nazwać "Zalogowani" i domyślnie przypisywać użytkowników tylko do tej grupy. (Narzedzia -> Bazy -> Baza użytkowników [Własiwości] -> Domyślne prawa dostępu). Użytkownicy nie powinni być przypisani do grupy "Goście"

Rejestracja

Rejestracja użytkowników w bazie odbywa się poprzez mechanizm formularzy. W systemie należy zdefiniować formularz zapisu do bazy użytkowników (status formularza: dodawanie / wysyłka danych).

Pole "uid" w formularzu należy zdefiniować jako "Pole ukryte typu hidden"

Mail z linkiwm potwierdzającym generujemy w opcji "Powiadomienie po wysłaniu" w ustawieniach formularza.

W polu szablon powiadomienia można wpisać następujący tekst:

Dziękujemy za założenie konta w naszym serwisie, aby dokończyć rejestrację prosimy o kliknięcie w poniższy link:

http://{server.HTTP_HOST}/confirm/uid,{uid}.html

Podane dane do logowania to:

login: {login}
hasło: {pass}


Pod adresem /confirm - musi znaleźć się kategoria z aktywnym modułem potwierdzenia e-maila - "confirmation"

Logowanie

Przykładowy formularz logowania:

<form method="post" action="" onsubmit="parseauth(this)">
 
 <h4>Logowanie</h4>

  <label for="login_f">login (e-mail): </label>
  <input name="login" size="25" maxlength="80" id="login_f" type="text"><br>
  <label for="pass_f">hasło: </label>
  <input name="pass" size="25" maxlength="40" class="txt" id="pass_f" type="password"><br>
  <label for="auto_f">Pamiętaj mnie</label>
  <input name="autologin" checked="checked" value="1" id="auto_f" type="checkbox" ><br>

  <input name="pwd" value="" type="hidden">
  <input name="redirect" value="{if $smarty.get.ref}{$smarty.get.ref|escape}{else}:this_category{/if}" type="hidden">
  <input name="action" value="login" type="hidden">

  <input value="Zaloguj się" class="button" type="submit">
</form>


Należy w kodzie strony umieścić odwołanie do pliku sha1.js który zawiera funkcję parseauth


<script type="text/javascript" src="/js/sha1.js"></script>




Powered by Actualizer CMS