Criação de Menu de Acesso
07/12/2012 15:42
Classe Usuario (nome, login, senha, grupo_id e etc)
// Os privilégios são os menus e outras opções que preciso controlar o acesso como por exemplo.
// menu cadastro, submenu cliente, opção imprimirFicha e assim por diante
Classe Privilegio (nome, descricao)
Classe Grupo (nome)
Classe GrupoPrivilegio (grupo_id, privilegio_id, visualizar, cadastrar, editar, excluir )
// Menu
<ul>
<li class="titulo">
<ul>
<li class="subitem">Cliente</li>
<li class="subitem">Fornecedor</li>
</ul>
</li>
</ul>
// com as validações
<ul>
<g:if test="${session.privilegios.get('MENU_CADASTRO').visualizar == true}">
<li class="titulo">Cadastros
<ul>
<g:if test="${session.privilegios.get('CADASTRO_CLIENTE').visualizar == true}">
<li class="subitem">Cliente</li>
</g:if>
<g:if test="${session.privilegios.get('CADASTRO_FORNECEDOR').visualizar == true}">
<li class="subitem">Fornecedor</li>
</g:if>
</ul>
</li>
</ul>
</g:if>
<!-- MENU SE NÃO LOGADO -->
<nav>
<ul>
<li><g:link controller="home"action="index">Home</g:link></li>
</ul>
</nav>
</sec:ifNotLoggedIn>
<sec:ifAnyGranted roles="ROLE_ADMIN">
<!-- MENU SE LOGADO COMO ADMIN -->
<nav>
<ul>
<li> <a class="home" href="${createLink(uri: '/')}">Home</a></li>
<li> <g:link controller="usuario" action="list">Usuários</g:link> </li>
<li> <g:link controller="escala" action="escala" >Escala</g:link> </li>
</ul>
</nav>
</sec:ifAnyGranted>
...
<g:render template="/layouts/menu"/>
...
Para se registrar, clique aqui.