Strona zostaje wyświetlona w trybie zabezpieczonym (HTTPS)
2. Tworzenie interfejsu (AXTDLOGIN) w celu wywołania usługi sieciowej logowania
3. Tworzenie jednostek (ASHIPADDR) w celu przechowywania informacji o koncie użytkownika
4. Tworzenie „czynności sieci” typu „Logowanie” (ASESSLOGIN)
Ustawienia po wprowadzeniu: kod użytkownika i hasło.
Te ustawienia są „mapowane” na ustawieniach po wprowadzeniu usługi sieciowej.
5. Tworzenie tokenu „łącza dynamicznego” (ADLKLOGIN)
Wstawiony na stronie HTML (przycisk „Zatwierdź”) w celu wywołania czynności użytkownika
6. Tworzenie „strony WWW” (AUSERACCOUNT)
Wyświetla informacje o koncie użytkownika wysłane przez podprogram logowania
Strona zostaje wyświetlona w trybie zabezpieczonym (HTTPS)
Informacja logowania XTEND jest zarządzana w rekordzie użytkownika X3.
Użytkownika XTEND jest zadeklarowany jako Użytkownik X3 , dla którego zaznaczono pole wyboru „Połączenie witryny internetowej” .
Jej profil Sage X3 jest odzyskiwany i ładowany w jednostce ASESSION.AUSERPROFILE.
Plik AYTXTLOGIN.src zawiera źródła programu logowania.
Dane konta użytkownika są zaprogramowane w „sztywnym kodzie” w procesie przetwarzania.
Konta sage są wykorzystywane do logowania się bez hasła.
Przykład
Przetwarzanie (informacji) logowania dla witryny ATEMPLATE
Rekord podprogramu AYTXTLOGIN opisuje ustawienia podprogramu.
Dalsze informacje na temat programu logowania można znaleźć w dokumencie czynności użytkownika.
Inne ustawienia (AX*) są wymagane dla wszelkich podprogramów logowania XTEND.
Przed rozpoczęciem należy upewnić się, że podprogram jest opublikowany z nazwą publikacji AXTDLOGIN.
1. Utwórz rekord interfejsu AXTDLOGIN typu „Czynność podprogramu”.
2. Wybierz nazwę publikacji AXTDLOGIN
3. Upewnij się, że dostęp nie jest chroniony
4. Sprawdź wyświetlanie wszystkich komunikatów
5. Zapisz i zatwierdź
6. Generuj dostęp
Kod ustawień | Grupa | Wymiar | Nazwa ustawienia |
AXPARCOD | AX_PAR | 20 | Kod ustawień |
AXPARVAL | AX_PAR | 20 | Wartość ustawienia |
AXUSERCODE | AXLOG_PAR | 1 | Odzyskany kod użytkownika |
AXPWD | AXLOG_PAR | 1 | Odzyskane hasło użytkownika |
AXUSERPROF | AXLOG_PAR | 1 | Odzyskany profil XTEND |
AX3SOL | X3LOG | 10 | Zwrócone rozwiązanie |
AX3FLDR | X3LOG | 10 | Zwrócony folder |
AX3LANG | X3LOG | 10 | Zwrócony język |
AX3USER | X3LOG | 10 | Zwrócony użytkownik |
AX3PWD | X3LOG | 10 | Zwrócone hasło |
AXLOGCOD | AXLOG_RES | 50 | AXLOCOD / AXLOGVAL: Dodatkowe informacje na temat użytkownika, typu klucza/wartości, które są przechowywane w sesji ROZSZERZONEJ (sekcja ASESSION). |
AXLOGVAL | AXLOG_RES | 50 | Ditto |
SHIPADDR1 | X3LOG | 10 | Zwrócona informacja połączona z użytkownikiem |
SHIPADDR2 | X3LOG | 10 | ditto |
SHIPCITY | X3LOG | 10 | ditto |
SHIPZIP | X3LOG | 10 | ditto |
7. Wygeneruj wszystkie pola interfejsu
Patrz menu 'Narzędzia/Tworzenie pola tokenu'
Pola dotyczące tożsamości użytkownika są wyświetlane w postaci listy kluczy/wartości (AXPARCOD/AXPARVAL) i są ukryte w ustawieniach podprogramu (NAZWISKO, IMIĘ, TELEFON, EMAIL).
Konieczne jest zatem zadeklarowanie tych pól poprzez funkcję XTEND „Pole tokenu”.
Pola sterowane przez ustawienia AXPARCOD/AXPARVAL (klucz/wartość) są dodawane automatycznie przez serwer XTEND w sesji użytkownika ASESSION.
Użycie klucza/wartości pozwala ograniczyć liczbę ustawień w podprogramie.
Utwórz jednostkę ASHIPADDR typu Czynność
Patrz menu „Narzędzia/Wprowadzanie – pomoc”.
Jednostka ta jest następnie wykorzystywana w mapowaniu zwrotnym czynności logowania.
Utwórz czynność ASESSLOGIN typu Logowanie z polami AXUSERCODE i AXPWD jak ustawienia po wprowadzeniu.
Kasowanie na starcie'
niezaznaczone: w celu usunięcia jednostek tylko wtedy, gdy login jest sprawdzany.
Raportowanie działań
Tak: dla wszystkich wywołań będą rejestrowane w logu
Aktywne przy powtórnym ładowaniu
Nie: nie przywoływanie logowania, jeśli użytkownik naciśnie klawisz F5
Ma to na celu dopasowanie pola XTEND do ustawień wywołania usługi sieciowej logowania.
W tym przykładzie konieczne jest tylko mapowanie ustawień czynności AXUSERCODE, AXPWD.
Kod podmiotu nie będzie wprowadzany w celu «mapowania» ustawień działań.
Ma to na celu stworzenie jednostki typu Czynność ASHIPADDR w oparciu o dane przesłane przez X3.
Ta jednostka posiada typ multi, ponieważ opiera się na grupie wielo-wymiarowych ustawień (AXLOG_PAR).
Jednostki typu Czynność są archiwizowane do późniejszego wykorzystania podczas sesji użytkownika.
Zostają one automatycznie odtworzone po każdym wywołaniu działania.
Dynamiczne łącze ADLKLOGIN jest tokenem, który jest wstawiany w przycisku logowania (znacznik <input>). Służy do określenia strony docelowej (tutaj bieżącej strony) w celu skojarzenia czynności ASESSLOGIN i określenia wartości ustawień.
Raportowanie działań
Tak: by każde kliknięcie łącza zostało zarejestrowane w logu
Wymuszenie trybu http post
Nie: Ponieważ działanie na ustawieniach jest związane z łączem dynamicznym, zapytanie zostaje automatycznie wysłane w trybie POST
Bieżąca strona
Tak: Wynik (informacja o użytkowniku jest wyświetlana na bieżącej stronie
Czynność
Kod czynności uruchamiający (ASESSLOGIN)
Kontrola pól sieciowych
Tak: dla ustawienia kodu użytkownika w celu automatycznej kontroli pól w obowiązkowych wpisach
Nie: ustawienie hasła zezwala na wprowadzanie pustych haseł
Ma to na celu deklarację ustawień czynności logowania i wskazanie metody określenia ich wartości.
AXUSERCODE, AXPWD
'Mand. Web fld': Obowiązkowy wpis w Polu sieć
„Pole sieć”: zawiera nazwę znacznika wejściowego (nazwa atrybutu)
Kontrola wejściu jest aktywna tylko wtedy, gdy opcja „Zakładka ogólna/Kontrola pól sieci” jest zaznaczona.
Zapytanie jest wysyłane do serwera XTEND tylko wtedy, gdy:
Kontrola zostaje przeprowadzona przez bibliotekę XTEND JavaScript.
Token sekcji ABLKSHIPADDR służy do wyświetlania jednostek ASHIPADDR reprezentujących adresy wysyłki.
Typ
Multi rekord: Wykonuje iterację dla wszystkich jednostek ASHIPADDR i ustawia każdą jednostkę na górze stosu kontekstu danych, a następnie wykonuje tokeny podrzędne
Brak danych
Nic nie wyświetlono: Jeżeli jednostka ASHIPADDR nie istnieje, to sekcje i tokeny podrzędne nie są brane pod uwagę
Jednostka
ASHIPADDR: Kod jednostki do wyświetlenia
Wiersz według sekcji:
10: Wyświetla maksymalnie 10 jednostek ASHIPADDR na stronie
Komórka według wierszy
1: Wyświetla jedną jednostkę wg wiersza
Styl wg pozycji
oddLine oraz evenLine: Styl do zdefiniowania w pliku 'my.css' w celu zmiany koloru tła wierszy
Nie jest możliwe zdefiniowanie kryteriów wyboru w sekcjach wyboru jednostek archiwizowanych na serwerze XTEND, które są typu Sesja lub Czynność. Sekcja wybiera automatycznie wszystkie jednostki.
Kryteria wyboru są stosowane wyłącznie do jednostek typu „Dostęp do danych”.
Utwórz stronę www ALOGIN.
Strona domyślna
Skojarz login.html.
Plik musi być obecny na serwerze X3 i może zostać wybrany klawiszem F12.
Protokół
Https: Służy do wskazania, że konieczne jest kodowanie danych kwerendy (patrz konfiguracja HTTPS)
Sekcja główna i sekcja tła
Brak
Dostęp chroniony
Nie: Służy do wskazania, że strona jest w otwartym dostępie (anonimowy)
Raportowanie działań
Tak: Służy do rejestracji wyświetlania strony w logu
Utwórz stronę www AUSERACCOUNT.
Strona domyślna
Skojarz plik account.html
Protokół
Https: Służy do wskazania, że konieczne jest kodowanie danych kwerendy
Dostęp chroniony
Tak: Stosowany w celu blokowania dostępu do tej strony anonimowym użytkownikom
Raportowanie działań
Tak: Służy do rejestracji wyświetlania strony w logu
Po modyfikacji ustawień X3 zaleca się sprawdzenie witryny w całości w celu opracowania słownika serwera XTEND poprzez funkcję 'Zatwierdzenie witryny internetowej (AYTFCYGEN)'.
Zweryfikuj, czy witryna XTEND została opublikowana, tzn. czy zostało zaznaczone pole „Publish the site” (Publikuj witrynę) rekordu „Web site” (Witryna).
Wstawienie tokenu „strony internetowej” ALOGIN w menu po lewej stronie w celu wyświetlenia strony.
<TD class='button'><A adx='ALOGIN'>Login</A></TD>
W celu utworzenia prostego łącza (bez czynności lub wyboru) do strony Web poprzez tag kotwicy wystarczy wprowadzić token typu 'Strona Web' w tagu(<a adx='PageWeb'></a>) w celu ograniczenia liczby tokenów „dynamiczne łącze”.
Zawartość menu po lewej stronie jest modyfikowana dynamicznie w zależności od tego, czy użytkownik jest zalogowany.
Do tego celu służy token łącza warunkowego ADISPUSERLOGGEDIN . Wyświetla zawartość sekcji (elementy podrzędne), jeśli użytkownik jest zalogowany.
<!adx='ADISPUSERLOGGEDIN'>
<!--Lewe menu dla uwierzytelnionego użytkownika-->
<TR>
<TD class='button'>
<A adx='AUSERACCOUNT'>Compte</A>
</TD>
</TR>
<TR>
<TD class='button'>
<A adx=»ADLKLOGOUT»>Wyloguj</A>
</TD>
</TR>
<!adx='ADISPUSERLOGGEDIN'>
<!adx='ADISPUSERLOGGEDIN:xnot'>
<!--Lewe menu dla anonimowego użytkownika-->
<TR>
<TD class='button'>
<A adx=»ALOGIN»>Zaloguj</A>
</TD>
</TR>
<!adx='ADISPUSERLOGGEDIN'>
Tworzenie pól wejściowych <input type='text'> dla kodu użytkownika i hasła.
W przypadku braku atrybutu nazwa jest określona w znaczniku <input> jest on generowany automatycznie z nazwą tokenu adx.
W wypadku błędu wykrycia przez serwer błędu wczytywania aplikacji X3, ustawienia xrc(<input adx='TokenName:xrc'>) jest stosowany do ponownego wywołania ostatniej wprowadzonej wartości Pozwala on na uniknięcie straty wprowadzanych danych.
Po wprowadzeniu hasła, nazwa atrybutu name='AXPWD' jest dodana, ponieważ nie jest konieczne wstawienie tokenu adx, aby wyświetlić hasło ponownie.
Tworzenie przycisku<input type='button'> „Zatwierdzenie” oraz wstawienie tokena „ADLKLOGIN”, który wyzwala czynność logowania.
Wszystkie przyciski <input type='button'> zawierające tokeny adx muszą być typu „przycisk”.
Nie należy używać typu „prześlij”.
<tr>
<td><b>Code:</b></td>
<td> <input name='AXUSERCODE' type='text' adx='AXUSERCODE:xrc'></td>
<td><input type='button' value='Valider' class='button' adx='ADLKLOGIN'></td>
</tr>
<tr>
<td><b>Password:</b></td>
<td colspan='2'> <input type='password' name='AXPWD'> </td>
</tr>
Token ADLKLOGIN wyświetla stronę AXUSERACCOUNT, jeśli podpis jest weryfikowany przez podprogram X3 .
Działanie użytkownika zostaje uznane za zatwierdzone, jeżeli wywołanie usługi sieciowej nie wyśle żadnego komunikatu błędu.
Komunikaty o błędach są wysyłane w języku 4GL przez podprogram ADDMESSERR (Wywołaj ADDMESSERR(„Komunikat”) z AWEB)
Komunikaty X3 są wyświetlane poprzez token AXUSERMSG.
Na przykład: <span id='userMsg' class='userMsg' adx='aMsgUser'></span>
Strona AUSERACCOUNT wyświetla informacje o koncie użytkownika. Dane pochodzą z mapowania ustawień wysyłanych przez podprogram logowania:
Wyświetlanie danych tożsamości polega na pozycjonowaniu tokena „Pola sieci” bez określenia kontekstu danych (token sekcji), ponieważ dane sesji można otworzyć na stronie www.
<tr>
<td><b>Nom:</b></td>
<td adx='NAME'></td>
</tr><tr>
<td><b>Prénom:</b></td>
<td adx='FIRSTNAME'></td>
</tr><tr>
<td><b>EMail:</b></td>
<td adx='EMAIL'></td>
</tr><tr>
<td><b>Tél.:</b></td>
<td adx='PHONE'></td>
</tr>
Wyświetlanie listy adresów wysyłki polega na pozycjonowaniu sekcji ABLKSHIPADDR, która wykonuje iterację na liście adresowej, a tym samym umożliwia utworzenie tylu wierszy w tabeli, ile jest adresów na liście.
Dla każdego wiersza możliwe jest utworzenie tylu komórek, ile jest danych do wyświetlenia dzięki znacznikowi adx='SHIP*'.
<table width="'100%'" border="'1'><BR/"> <tr class='tabTitle'>
<th><small><b>Adresse1</b></small></th>
<th><small><b>Adresse2</b></small></th>
<th><small><b>Ville</b></small></th>
<th><small><b>Kod pocztowy</b></small></th>
</tr>
<!adx='ABLKSHIPADDR'>
<tr adx='aLineStyle:xattr=Class'>
<td><small adx='SHIPADR1'></small></td>
<td><small adx='SHIPADR2'></small></td>
<td><small adx='SHIPCITY'></small></td>
<td><small adx='SHIPZIP'></small></td>
</tr>
<!adx='ABLKSHIPADDR'>
</table>
W celu wyświetlenia wierszy tabeli w różnych kolorachustawiany jest token adx w znaczniku <tr>.
<tr adx='aLineStyle:xattr=Class'>
aLineStyle zawiera nazwę klasy, a xAttr=Class wskazuje, że konieczne jest określenie wartości atrybutu klasy o wartości pola aLineStyle.
Klasy css (aLineStyle), które stosowane są dla wierszy tabeli są zdefiniowane w rekordzie konfiguracji sekcji.
<!adx='ABLKDOCHTML'>
<div adx='TEXTE'>
</div>
<!adx='ABLKDOCHTML'>