package org.apache.wicket.examples.authorization;
import java.util.Arrays;
import java.util.List;
import org.apache.wicket.Page;
import org.apache.wicket.Session;
import org.apache.wicket.authroles.authorization.strategies.role.RoleAuthorizationStrategy;
import org.apache.wicket.authroles.authorization.strategies.role.metadata.MetaDataRoleAuthorizationStrategy;
import org.apache.wicket.examples.authorization.pages.AdminBookmarkablePage;
import org.apache.wicket.examples.authorization.pages.AdminInternalPage;
import org.apache.wicket.protocol.http.WebApplication;
import org.apache.wicket.request.Request;
import org.apache.wicket.request.Response;
@author
public class RolesApplication extends WebApplication
{
public static List<User> USERS = Arrays.asList(new User("jon", "ADMIN"),
new User("kay", "USER"), new User("pam", ""));
public RolesApplication()
{
super();
}
@see
@Override
public Class<? extends Page> getHomePage()
{
return Index.class;
}
@see
@Override
public Session newSession(Request request, Response response)
{
return new RolesSession(request);
}
@Override
protected void init()
{
super.init();
getDebugSettings().setDevelopmentUtilitiesEnabled(true);
getSecuritySettings().setAuthorizationStrategy(
new RoleAuthorizationStrategy(new UserRolesAuthorizer()));
MetaDataRoleAuthorizationStrategy.authorize(AdminBookmarkablePage.class, "ADMIN");
MetaDataRoleAuthorizationStrategy.authorize(AdminInternalPage.class, "ADMIN");
}
}