viernes, 9 de abril de 2010

Autentificacion con wicket

Autentificacion con wicket


Implementado en base a http://www.wicket-library.com/wicket-examples/authentication/



maven pom.xml

<dependency>
<groupId>org.apache.wicket</groupId>
<artifactId>wicket-auth-roles</artifactId>
<version>${wicket.version}</version>
</dependency>




Application.java

public class Application extends AuthenticatedWebApplication {

@Override
public Class<? extends Page> getHomePage() {
return Home.class;
}


@Override
protected void init() {
super.init(); // NO OLVIDAR (gracie Mauro Ciancio )
}


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

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

}




Session.java

public class Session extends AuthenticatedWebSession {

public Session(Request request) {
super(request);
}

@Override
public boolean authenticate(final String username, final String password) {
return username.equals("admin") && password.equals("admin");
}

@Override
public Roles getRoles() {
if (isSignedIn()) {
return new Roles(Roles.ADMIN);
}

return new Roles();
}
}









Login.html

-En el base se agrega <span wicket:id="signInPanel" /> , si no lo ponemos, vemos en el error los nombre que espera (para poner nuestros textbox y botones)



<body>
<span wicket:id="signInPanel" />
</body>
</html>



Login.java
- Como se ve, lo hace todo la clase base


public class Login extends SignInPage{
}


PaginaConseguridad.html



<body>
solo visible por un admin
</body>
</html>


PaginaConseguridad.java

@AuthorizeInstantiation("ADMIN")
public class PaginaConseguridad extends WebPage {
}


LogOut.html


<body>

<h2>Ciaoo!</h2>
<a href="Home.html">Home</a>

</body>
</html>


LogOut.java

public class LogOut extends SignOutPage {
}

1 comentario:

Anónimo dijo...

No sirve el tuto... le haen falta varias cosas y fue extraído de otra pagina...