12. díl - Wicket - Přihlašování, pokračování

Java Enterprise Edition Wicket Wicket - Přihlašování, pokračování

Minulou lekci jsme skončili vytvořením stránky pro přihlášení. V této lekci přihlašování dokončíme.

Úprava WicketApplication

Naše WicketApplication (vstupní bod Wicketí aplikace) musí dědit od Authenticated­WebApplication. Tím přibudou k implementaci dvě metody:

  • getWebSession­Class()
  • getSignInPage()

Metoda getWebSession­Class() bude vracet naši session (ve které je implementována autorizační metoda) a metoda getSignInPage() bude vracet stránku pro přihlášení (kam bude uživatel přesměrován v případě, že není přihlášen - signedIn = false a zároveň požaduje stránku vyžadující autorizaci).

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

Nyní upravíme editační stránku tak, aby se zobrazovala pouze přihlášeným uživatelům. Toho docílíme přepsáním metody onConfigure(), kterou mají všechny komponenty. Tato metoda se volá před tím, než je komponenta (stránka je také komponenta) vykreslena a používá se často pro nastavení viditelnosti (visible) komponenty nebo k jejímu aktivování (enable).

EditPage.java

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

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

Ještě přidáme možnost odhlášení a to do menu v BasePage. Možnost odhlášení se bude zobrazovat pouze v případě, že je uživatel přihlášen. Opět tedy použijeme metodu onConfigure() nyní v komponentě 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 také styly.

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;
}

Nezapomeňte na doplnění 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!

Přihlášení k přidávání příspěvků.

Přidávání příspěvků.

Příspěvek byl přidán a je zobrazen na hlavní stránce.

Odhlášení.


Přiložený soubor obsahuje zdrojový kód vytvořené webové aplikace.


Závěr

Tímto dílem končí tento tutoriál. Ve dvanácti lekcích jsem se vám pokusil přiblížit webový framework Wicket. Pokud jste se někde zasekli či pokud vás tento framework nezaujal, mohu za to pravděpodobně já a můj způsob výkladu. Pokud se vám tento framework zalíbil a oceňujete jeho možnosti, dík patří vývojářům, kteří tento framework vyvíjeli a vyvíjí.

Pokud jste ve čtení dospěli až sem, chtěl bych vás poprosil o zpětnou vazbu (ať už pozitivní nebo negativní).

Popularita frameworku

To, zda framework přežije počáteční fázi a neskončí v propadlišti dějin, závisí na mnoha faktorech. Tím nejdůležitějším faktorem jsou lidé. Pokud framework dokáže k sobě přitáhnou lidi, kteří se mu věnují a obětují mu svůj čas, má velkou šanci na to, že zde bude ještě za pár dalších let. A čím více lidí se mu věnuje, tím více vzniká různých zdrojů, informací, tutoriálů, tipu a triků. A čím více informací je k dispozici, tím je více pravděpodobné, že bude framework používán a nadále rozvíjen.

Wicket je tu již od roku 2004. Od té doby vzniklo velké množství dalších Java webových frameworků a i přes to je Wicket stále používán. Wicket má aktivní komunitu. Je možné se přihlásit do mailing listu https://wicket.apache.org/help/email.html a požádat o pomoc s řešením problému. Dotazy je možné také pokládat na www.stackoverflow.com, kde bývají velmi rychle odpovězeny a jak ukazuje následující obrázek, každý den zde přibývají nové otázky a jejich řešení.

Dalším zdrojem informací je oficiální stránka - wicket.apache.org a podrobná uživatelská příručka - wicket.apache­.org/start/user­guide.html.

Inspirace (stránky používající Wicket)

www.agentika.com

www.blue-deals.de

www.soundpure.com

www.ties.com

www.vw-service-werbung.de

Další weby používající Wicket naleznete například na http://builtwithwicket.tumblr.com/. Tento web je samozřejmě také ve Wicketu :-).


 

Stáhnout

Staženo 16x (35.99 kB)
Aplikace je včetně zdrojových kódů v jazyce Java

 

  Aktivity (1)

Článek pro vás napsal vita
Avatar
vita

Jak se ti líbí článek?
Celkem (2 hlasů) :
55555


 


Miniatura
Předchozí článek
Wicket - Přihlašování
Miniatura
Všechny články v sekci
Apache Wicket
Miniatura
Následující článek
Wicket - wEasy

 

 

Komentáře

Avatar
David Tilšer:

Pro mě osobně zatím nejpřínosnější tutorial na itnetwork.cz a zároveň nejlepší český tutorial o wicketu.
Ocenil bych, kdybys pokračoval v dalších tutorialech o wicketu.

Každopádně ti chci Víťo poděkovat, výborný tutorial!

Odpovědět 14. srpna 13:19
Odpočinek je pro slabochy.
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 1 zpráv z 1.