package component.authorization.strategy.example; import java.util.HashMap; import java.util.Map; import org.apache.wicket.Session; import org.apache.wicket.protocol.http.WebApplication; import org.apache.wicket.request.Request; import org.apache.wicket.request.Response; public class WicketApplication extends WebApplication { public static final int DEFAULT_HTTP_PORT = 9090; public static final int DEFAULT_HTTPS_PORT = 9443; private static final Map<String, User> usernameUser = new HashMap<>(); static { final User barman = new User("barman"); barman.setPassword("secret"); barman.add(ApplicationRight.VIEW_NAME); barman.add(ApplicationRight.EDIT_NAME); barman.add(ApplicationRight.VIEW_DESCRIPTION); usernameUser.put(barman.getUsername(), barman); final User waiter = new User("waiter"); waiter.setPassword("secret"); waiter.add(ApplicationRight.VIEW_NAME); usernameUser.put(waiter.getUsername(), waiter); final User boss = new User("boss"); boss.setPassword("secret"); boss.add(ApplicationRight.VIEW_NAME); boss.add(ApplicationRight.VIEW_DESCRIPTION); boss.add(ApplicationRight.EDIT_NAME); boss.add(ApplicationRight.EDIT_DESCRIPTION); usernameUser.put(boss.getUsername(), boss); } public static Map<String, User> getUsernameuser() { return usernameUser; } @Override public Class<HomePage> getHomePage() { return HomePage.class; } @Override protected void init() { getSecuritySettings().setAuthorizationStrategy(new ApplicationAuthorizationStrategy()); } @Override public Session newSession(final Request request, final Response response) { return new WicketSession(request); } }