Vianoce v ITnetwork sú tu! Dobí si teraz kredity a získaj až 80 % extra kreditov na e-learningové kurzy ZADARMO. Zisti viac.
Hľadáme nové posily do ITnetwork tímu. Pozri sa na voľné pozície a pridaj sa k najagilnejšej firme na trhu - Viac informácií.

12. diel - Wicket - Prihlasovanie, pokračovanie

Minulú lekcii sme skončili vytvorením stránky pre prihlásenie. V tejto lekcii prihlasovanie dokončíme.

Úprava WicketApplication

Naša WicketApplication (vstupný bod Wick aplikácie) musia dediť od Authenticated­WebApplication. Tým pribudnú k implementácii dve metódy:

  • getWebSessionClass ()
  • getSignInPage ()

Metóda getWebSessionClass () bude vracať našu session (v ktorej je implementovaná autorizačný metóda) a metóda getSignInPage () bude vracať stránku pre prihlásenie (kam bude užívateľ presmerovaný v prípade, že nie je prihlásený - signedIn = false a zároveň požaduje stránku vyžadujúce autorizáciu).

WicketApplica­tion.java

public class WicketApplication extends AuthenticatedWebApplication
{
    /**
     * @see org.apache.wicket.Application#getHomePage()
     */
    @Override
    public Class<? extends WebPage> getHomePage()
    {
        return HomePage.class;
    }

    /**
     * @see org.apache.wicket.Application#init()
     */
    @Override
    public void init()
    {
        super.init();
        // add your configuration here
    }

    @Override
    protected Class<? extends AbstractAuthenticatedWebSession> getWebSessionClass() {
        return BasicAuthenticationSession.class;
    }

    @Override
    protected Class<? extends WebPage> getSignInPageClass() {
        return LoginPage.class;
    }
}

Úprava editačné stránky

Teraz upravíme editačné stránku tak, aby sa zobrazovala iba prihláseným užívateľom. To docielime prepísaním metódy onConfigure (), ktorú majú všetky komponenty. Táto metóda sa volá pred tým, než je komponent (stránka je tiež komponent) vykreslená a používa sa často pre nastavenie viditeľnosti (visible) komponenty alebo k jej aktivovaniu (enable).

EditPage.java

@Override
protected void onConfigure() {
    super.onConfigure();

    AuthenticatedWebApplication application = (AuthenticatedWebApplication) Application.get();
    AuthenticatedWebSession session = AuthenticatedWebSession.get();
    if (!session.isSignedIn()) {
        application.restartResponseAtSignInPage();
    }
}

Ešte pridáme možnosť odhlásenia a to do menu v BasePage. Možnosť odhlásenia sa bude zobrazovať iba v prípade, že je používateľ prihlásený. Opäť teda použijeme metódu onConfigure () teraz v komponente Link.

BasePage.java

Link logoutLink = new Link("logout") {
    @Override
    public void onClick() {
        AuthenticatedWebSession.get().invalidate();
        setResponsePage(HomePage.class);
    }

    @Override
    protected void onConfigure() {
        super.onConfigure();
        if (AuthenticatedWebSession.get().isSignedIn()) {
            setVisible(true);
        } else {
            setVisible(false);
        }
    }
};
add(logoutLink);

BasePage.html

<li><a href="#" wicket:id="logout" class="logout"><wicket:message key="menu.logout"/></a></li>

Upravíme tiež štýly.

style.css

#menu ul li:last-child {
    float: right;
}

#menu ul li a.logout {
    color: red;
    border: 1px solid red;
}

#menu ul li a.logout:hover {
    color: white;
    background-color: red;
}

Nezabudnite na doplnenie resources.

menu.logout=Odhl\u00E1\u0161en\u00ED
title.loginPage=P\u0159ihl\u00E1\u0161en\u00ED
text.login=P\u0159ihl\u00E1\u0161en\u00ED
form.username=U\u017Eivatelsk\u00E9 jm\u00E9no
form.password=Heslo
loginForm.username.Required=Nezadali jste u\u017Eivatelsk\u00E9 jm\u00E9no\!
loginForm.password.Required=Nezadali jste heslo\!


menu.logout=Logout
title.loginPage=Login
text.login=Login
form.username=Username
form.password=Password
loginForm.username.Required=You have not entered the username!
loginForm.password.Required=You have not entered the password!

Prihlásenie na pridávanie príspevkov.

Apache Wicket
Apache Wicket

Pridávanie príspevkov.

Apache Wicket

Príspevok bol pridaný a je zobrazený na hlavnej stránke.

Apache Wicket

Odhlásenie.

Apache Wicket

Priložený súbor obsahuje zdrojový kód vytvorené webové aplikácie.

Záver

Týmto dielom končí tento tutoriál. V dvanástich lekciách som sa vám pokúsil priblížiť webový framework Wicket. Ak ste sa niekde zasekli alebo ak vás tento framework nezaujal, môžem za to pravdepodobne ja a môj spôsob výkladu. Ak sa vám tento framework zapáčil a oceňujete jeho možnosti, vďaka patrí vývojárom, ktorí tento framework vyvíjali a vyvíja.

Ak ste v čítaní dospeli až sem, chcel by som vás poprosil o spätnú väzbu (či už pozitívne alebo negatívne).

Popularita frameworku

To, či framework prežije počiatočnej fáze a neskončí v prepadlisku dejín, závisí od mnohých faktorov. Tým najdôležitejším faktorom sú ľudia. Ak framework dokáže k sebe pritiahnu ľudí, ktorí sa mu venujú a obetujú mu svoj čas, má veľkú šancu na to, že tu bude ešte za pár ďalších rokov. A čím viac ľudí sa mu venuje, tým viac vzniká rôznych zdrojov, informácií, tutoriálov, tipu a trikov. A čím viac informácií je k dispozícii, tým je viac pravdepodobné, že bude framework používaný a naďalej rozvíjaný.

Wicket je tu už od roku 2004. Od tej doby vzniklo veľké množstvo ďalších Java webových frameworkov a aj cez to je wicket stále používaný. Wicket má aktívny komunitu. Je možné sa prihlásiť do mailing listu https://wicket.apache.org/help/email.html a požiadať o pomoc s riešením problému. Otázky je možné tiež pokladať na www.stackoverflow.com, kde bývajú veľmi rýchlo zodpovedané a ako ukazuje nasledujúci obrázok, každý deň tu pribúdajú nové otázky a ich riešenie.

Apache Wicket

Ďalším zdrojom informácií je oficiálna stránka - wicket.apache.org a podrobná užívateľská príručka - wicket.apache­.org/start/user­guide.html.

Inšpirácie (stránky používajúce Wicket)

www.agentika.com

Apache Wicket

www.blue-deals.de

Apache Wicket

www.soundpure.com

Apache Wicket

www.ties.com

Apache Wicket

www.vw-service-werbung.de

Apache Wicket

Ďalšie weby používajúci Wicket nájdete napríklad na http://builtwithwicket.tumblr.com/. Tento web je samozrejme tiež vo wicket :-) .


 

Mal si s čímkoľvek problém? Stiahni si vzorovú aplikáciu nižšie a porovnaj ju so svojím projektom, chybu tak ľahko nájdeš.

Stiahnuť

Stiahnutím nasledujúceho súboru súhlasíš s licenčnými podmienkami

Stiahnuté 36x (35.99 kB)
Aplikácia je vrátane zdrojových kódov v jazyku Java

 

Predchádzajúci článok
Wicket - Prihlasovanie
Všetky články v sekcii
Apache Wicket
Preskočiť článok
(neodporúčame)
Wicket - wEasy
Článok pre vás napísal vita
Avatar
Užívateľské hodnotenie:
Ešte nikto nehodnotil, buď prvý!
vita
Aktivity