Com relação à propagaçao para a camada EJB, infelizmente não existe um interceptor ou algo similar que proporcione essa funcionalidade OOTB.
De qualquer forma, é possível injetar os principais componentes(IdentityManager, RelationshipManager e PartitionManager) em qualquer bean. De certa forma, as informação já estão acessíveis e "propagadas" para a camada EJB.
Desta forma, você tem todas as ferramentas para realizar a autorização. O uso de interceptors, como sugerido pelo Felipe, é uma questão de implementação. Acho que eu também faria dessa forma .
Neste sentido, o Apache Deltaspike também pode ser uma ótima opção para autorização. Existem alguns quickstarts que demonstram o uso do PL + Apache Deltaspike, onde a autorização é feita com anotações (Security Annotations).
Abraços.
Pedro,
Se puder auxiliar posso melhorar o quickstart para que possma utilizar no projeto, vou entrar durante a semana no IRC pra conversarmos. Tenho uma outra idéia para exemplo que seria a utilização de usuários do LDAP e JPA juntos, no caso utilizar o LDAP apenas para autenticação para os usuários que possuam senha no serviço. Para os outros usuários (JPA) a autenticação seria por user/pass padrão. O que acha?
Achei muito interessante os recursos que o picketlink oferece para utilizarmos nas aplicações, acredito que com alguns exemplos mais práticos (voltados pro dia a dia) possa incentivar ainda mais o uso. No ambiente de trabalho já estou preparando para trocarmos para a implementação baseada no picketlink, ficou muito mais simples de utilizar e dar manutenção.
Desconheço o Apache Deltaspike, mas gostei da sugestão, vou dar uma olhada pra ver como funciona.
Abraços
Obrigado.. vou olhar o exemplo com o Deltaspike...
Outra dúvida.. esse exemplo se aplicaria para chamada a EJB remoto?