Estou escrevendo um JACC
provedor.
Ao longo do caminho, isso significa implementar a PolicyConfiguration
.
O PolicyConfiguration
responsável por aceitar informações de configuração do servidor de aplicativos, como quais permissões são atribuídas a quais funções. Isso é para que Policy
mais tarde possa tomar decisões de autorização quando for entregue informações sobre o usuário atual e o que ele está tentando fazer.
No entanto, não faz parte do PolicyConfiguration
contrato (atroz) manter um mapeamento entre as funções e suas permissões, e Principals
que são atribuídos a essas funções.
Normalmente - sempre, realmente - um servidor de aplicativos hospeda esse mapeamento. Por exemplo, no GlassFish, você afeta esse mapeamento, fornecendo coisas como sun-web.xml
e sun-ejb-jar.xml
e assim por diante com os seus módulos Java EE. (Esses arquivos específicos do fornecedor são responsáveis por dizer, por exemplo, superusers
é um grupo ao qual deve ser atribuída a função de aplicativo admins
.)
Gostaria de reutilizar a funcionalidade fornecida por esses arquivos e gostaria de fazê-lo para o maior número possível de servidores de aplicativos.
Aqui está - totalmente arbitrariamente - a opinião da IBM sobre o assunto, que parece confirmar minha suspeita de que o que eu quero fazer é essencialmente impossível . (Mais munição para o meu caso, que este contrato Java EE em particular não vale o papel em que está impresso.)
Minha pergunta: como faço para obter essas informações de mapeamento de principal para função em - para iniciantes - Glassfish e JBoss de dentro de um PolicyConfiguration
? Se existe uma maneira padrão de fazer isso que eu não conheço, sou todo ouvidos.
Because JSR-115 does not define how to address role mapping, WebLogic JACC classes are used for role-to-principal mapping.
consulte docs.oracle.com/cd/E24329_01/web.1211/e24485/…