Como configurar o Spring Security para permitir o uso de hasPermission na página JSP?

Estou tentando usar hasPermission nas minhas páginas jsp do meu projeto de primavera. Eu já uso isso sem problemas nos métodos das minhas classes de controlador / serviço. Lendo o artigo:

http://docs.spring.io/spring-security/site/docs/4.0.0.M1/reference/htmlsingle/#the-accesscontrollist-tag

da documentação oficial, entendi que, para isso, não é necessário implementar uma classe derivada de DefaultPermission que seria carregada de uma classe AclService personalizada.

Meu problema é que não consigo encontrar nenhuma informação de como implementar todas essas classes e nem sei se essa abordagem é a única ou se entendi o assunto da maneira correta (a documentação oficial é muito breve sobre esse assunto). , e no restante da internet não encontro mais informações).

Alguém pode me apontar na direção certa aqui? Talvez indique algum tutorial ou amostra de código.

ATUALIZAR

Lendo outros tópicos aqui do StackOverflow, encontrei esta sugestão:

This is what I have done. I created my own permission evaulator:
>     public class MyPermissionEvaluator implements PermissionEvaluator {
>     ...
>     }
Then I configured spring to use that evaulator via
>     <beans:bean id="expressionHandler"
>         class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler">
>           <beans:property name="permissionEvaluator" ref="permissionEvaluator"/>
>     </beans:bean>
>     
>     <beans:bean id="webExpressionHandler" 
>         class="com.bulb.learn.webapp.security.CustomWebSecurityExpressionHandler">
>         <beans:property name="permissionEvaluator" ref="permissionEvaluator"/>
>     </beans:bean>
>     
>     <beans:bean id="permissionEvaluator" class="my.domain.MyPermissionEvaluator" />
That way all expression handlers have access to my evaulator.

Then, in JSP (actually, I am using jspx), I can make tags like this:
>     <sec:authorize access="hasPermission(#childUnit, 'read')">
>          ...
>     </sec:authorize>
Hope that gets you heading in the right direction.

Como já tenho um Avaliador de Permissão Personalizado, tento esse método. Funciona parcialmente, mas agora, mesmo quando o usuário tem permissão, o elemento dentro da tag não é exibido. Além disso, o eclipse indica um erro relacionado a essa tag ('Erro de sintaxe no (s) token (s), construção (s) extraviada'), apesar do aplicativo ser construído e executado sem erros.

No console, esse erro é exibido:

un 03, 2014 7:48:40 PM org.springframework.security.access.expression.DenyAllPermissionEvaluator hasPermission
Advertência: Denying user klebermo permission 'cadastra_usuario' on object null
Jun 03, 2014 7:48:40 PM org.springframework.security.access.expression.DenyAllPermissionEvaluator hasPermission
Advertência: Denying user klebermo permission 'altera_usuario' on object null
Jun 03, 2014 7:48:40 PM org.springframework.security.access.expression.DenyAllPermissionEvaluator hasPermission
Advertência: Denying user klebermo permission 'remove_usuario' on object null
Jun 03, 2014 7:48:45 PM org.springframework.security.access.expression.DenyAllPermissionEvaluator hasPermission
Advertência: Denying user klebermo permission 'cadastra_permissao' on object null
Jun 03, 2014 7:48:45 PM org.springframework.security.access.expression.DenyAllPermissionEvaluator hasPermission
Advertência: Denying user klebermo permission 'altera_permissao' on object null
Jun 03, 2014 7:48:45 PM org.springframework.security.access.expression.DenyAllPermissionEvaluator hasPermission
Advertência: Denying user klebermo permission 'remove_permissao' on object null
Jun 03, 2014 7:48:57 PM org.springframework.security.access.expression.DenyAllPermissionEvaluator hasPermission
Advertência: Denying user klebermo permission 'cadastra_usuario' on object null
Jun 03, 2014 7:48:57 PM org.springframework.security.access.expression.DenyAllPermissionEvaluator hasPermission
Advertência: Denying user klebermo permission 'altera_usuario' on object null
Jun 03, 2014 7:48:57 PM org.springframework.security.access.expression.DenyAllPermissionEvaluator hasPermission
Advertência: Denying user klebermo permission 'remove_usuario' on object null

Na Internet, encontrei alguns artigos sugerindo que eu deveria implementar uma Interface para WebSecurityExpressionHandler.

Alguém sabe qual é o passo certo aqui?

ATUALIZAÇÃO 2

Anteriormente, eu estava usando essa tag:

<sec:accesscontrollist hasPermission="1,2" domainObject="${someObject}">

Isso será mostrado se o usuário tiver uma das permissões representadas pelos valores "1" ou "2" no objeto especificado.

</sec:accesscontrollist>

onde nenhum erro foi exibido no console, mas ainda não funciona. Minha pergunta qual objeto eu preciso implementar para atribuir domainObject da marca?

questionAnswers(3)

yourAnswerToTheQuestion