Skip to content

Instantly share code, notes, and snippets.

@rafaeltoledo
Created November 14, 2019 19:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rafaeltoledo/428ae455233598acfb4e66cd27623d70 to your computer and use it in GitHub Desktop.
Save rafaeltoledo/428ae455233598acfb4e66cd27623d70 to your computer and use it in GitHub Desktop.
Mentawai 04
@Override
public void init(Context application) {
Group administrador = new Group("administrador");
// Pode adicionar uma permissão de cada vez
administrador.addPermission("criarUsuario");
// Ou adicionar encadeada
administrador.addPermission("configurarSistema").addPermission("visualizarMenu");
AuthorizationManager.addGroup(administrador);
Group usuarioComum = new Group("usuarioComum");
usuarioComum.addPermission("visualizarMenu");
AuthorizationManager.addGroup(usuarioComum);
}
@Override
public String execute() throws Exception {
String email = input.getString("email");
String senha = input.getString("senha");
. . .
if (email.equals("admin@rafaeltoledo.net")) {
setUserSession(email);
// pode-se fazer assim...
setUserGroup("administrador");
setUserGroup("usuarioComum");
// ... ou assim!
List<String> grupos = new ArrayList<String>();
grupos.add("administrador");
grupos.add("usuarioComum");
setUserGroups(grupos);
}
return SUCCESS;
}
<!-- Protegendo a página toda, configurando vários grupos -->
<mtw:requiresAuthorization groups="administrador, usuarioComum"/>
<!-- Protegendo a página toda, configurando um grupo apenas -->
<mtw:requiresAuthorization group="administrador"/>
<!-- Ou ainda protegendo a página toda por permissões -->
<mtw:requiresAuthorization permission="configurarSistema"/>
<!-- Ou protegendo trechos da página por grupos... -->
<mtw:hasAuthorization group="administrador"><!-- também pode definir mais de um grupo -->
<p>Só administradores veem isso.</p>
</mtw:hasAuthorization>
<!-- ... ou por permissões -->
<mtw:hasAuthorization permission="configurarSistema"><!-- também pode definir mais de uma permissão -->
<p>Só quem tem a permissão configurarSistema vê isso.</p>
</mtw:hasAuthorization>
@Override
public void loadActions() {
addGlobalFilter(new AuthenticationFilter());
addGlobalConsequence(AuthenticationFilter.LOGIN, new Redirect("/login.jsp"));
addGlobalConsequence(AuthorizationFilter.ACCESSDENIED, new Redirect("/erro.jsp"));
ActionConfig ac = new ActionConfig("CriarUsuario", CriarUsuarioAction.class);
ac.addConsequence(CriarUsuarioAction.SUCCESS, new Redirect("/usuarioList.jsp"));
ac.addFilter(new AuthorizationFilter(new Permission("criarUsuario")));
addActionConfig(ac);
. . .
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment