package org.youtestit.security.restrict; import org.jboss.seam.faces.event.PhaseIdType; import org.jboss.seam.faces.rewrite.FacesRedirect; import org.jboss.seam.faces.security.AccessDeniedView; import org.jboss.seam.faces.security.LoginView; import org.jboss.seam.faces.security.RestrictAtPhase; import org.jboss.seam.faces.view.config.ViewConfig; import org.jboss.seam.faces.view.config.ViewPattern; import org.youtestit.security.roles.Admin; import org.youtestit.security.roles.Owner; @ViewConfig public interface Pages { String LOGIN_PAGE="/login"; static enum Pages2 { @ViewPattern("/subscrib") SUBSCRIB, @ViewPattern("/login*") LOGIN, @FacesRedirect @ViewPattern("/home*") @RestrictAtPhase(PhaseIdType.RENDER_RESPONSE) @LoginView(LOGIN_PAGE) @Owner HOME, @ViewPattern("/admin*") @RestrictAtPhase(PhaseIdType.RENDER_RESPONSE) @LoginView("/login") @AccessDeniedView("/denied") @Admin ADMIN, @ViewPattern("/app*") @RestrictAtPhase(PhaseIdType.RENDER_RESPONSE) @LoginView(LOGIN_PAGE) @Owner ALL; } }