Modelos de autorização do Web Services Security
Os aplicativos do provedor implementados como servlets ou Enterprise JavaBeans (EJBs) podem usar serviços da Web e podem ser protegidos pela segurança dos serviços da web. A autorização baseada na função da Java Platform, Enterprise Edition (Java EE) pode ser usada para controlar o acesso aos aplicativos do provedor de serviços da Web implementados como servlets ou EJBs. Embora as funções de segurança de implementações de servlet e EJB sejam configuradas da mesma forma, o acesso aos serviços diferem em termos de implementação.
- Um token de segurança é passado no cabeçalho de HTTP da solicitação de SOAP.
- O contêiner da web autentica o token de segurança e, então, executa a autorização baseada em função do usuário.
- Mediante a autorização bem-sucedida do usuário, o contêiner da web chama o mecanismo de serviços da web com a mensagem de entrada.
A figura seguinte ilustra o local em que ocorre cada etapa do processo de autorização baseada em função para os servlets.

- Um token de segurança para a identidade do usuário é passada no cabeçalho de Segurança da solicitação de SOAP.
- A segurança dos serviços da web autentica o token.
- Com uma configuração do responsável pela chamada, a segurança dos serviços da web configura a identidade do token autentica no encadeamento atual.
- Quando o terminal é chamado pelo mecanismo de serviço da web, o contêiner EJB executa a autorização baseada em função na identidade no encadeamento atual.
A figura seguinte ilustra o local em que ocorre cada etapa do processo de autorização baseada em função para os EJBs.

Quando um provedor de serviços da web é implementado como um servlet, não é possível usar um token passado pela segurança dos serviços da web no cabeçalho de Segurança da solicitação do SOAP para a autorização baseada em função para acesso ao serviço.
Quando um provedor de serviços da web é implementado como um EJB, um token passado pela segurança dos serviços da web no cabeçalho de Segurança da solicitação do SOAP poderá ser usado somente para a autorização baseada em função pelo contêiner EJB para acesso ao serviço, se houver uma configuração do responsável pela chamada para esse token nas restrições de segurança dos serviços da web ativos.
Os provedores de serviço da Web implementados como EJBs também podem usar o contêiner da web para executar a autorização baseada em função. Para isso, o servlet do roteador mostrado na figura Autorização do EJB na segurança do serviço da web é protegido com a Autenticação Básica de HTTP. Quando isso é feito, o processo continua como mostrado na figura Autorização do servlet na segurança do serviço da web.
Quando houver uma configuração do responsável pela chamada nas restrições de segurança dos serviços da web para um token de entrada, esse token será configurado como a identidade runAs no contexto de segurança no encadeamento atual. O próprio aplicativo do provedor protegido pode tomar decisões de autorização com base nessa identidade. Isso se aplica aos servlets e aos EJBs.