Estou escrevendo um JACCprovedor.
Ao longo do caminho, isso significa implementar a PolicyConfiguration.
O PolicyConfigurationresponsá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 Policymais 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 PolicyConfigurationcontrato (atroz) manter um mapeamento entre as funções e suas permissões, e Principalsque 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.xmle sun-ejb-jar.xmle 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/…