14.7. Uso da Segurança baseada na Função nos Servlets

Para adicionar a segurança a um servlet, você precisa mapear cada servlet a um default de URL e criar restrições de segurança nos padrões do URL que precisam ser protegidos. As restrições de segurança limitam o acesso aos URLs e funções. A autenticação e autorização são manuseadas pelo security domain especificados no jboss-web.xml do WAR.
Pré-requisitos

Antes de você usar a segurança baseada na função num servlet, o security domain usado para autenticar e autorizar o acesso precisa ser configurado no contêiner do JBoss Enterprise Application Plataform.

Procedimento 14.2. Adição da Segurança baseada na Função aos Servlets

  1. Adição dos mapeamentos entre os padrões servlets e URL.

    Use os elementos <servlet-mapping> no web.xml para mapear os servlets individuais aos padrões URL. A seguinte amostra mapeia o servlet chamado DisplayOpResult ao /DisplayOpResult default de URL.
    <servlet-mapping>
        <servlet-name>DisplayOpResult</servlet-name>
        <url-pattern>/DisplayOpResult</url-pattern>
    </servlet-mapping>		
    			
    
    
  2. Adição das restrições de segurança nos padrões URL.

    Para mapear o default URL a uma restrição de segurança, use o <security-constraint>. A seguinte amostra de acesso às restrições a partir do /DisplayOpResult default de URL a ser acessado pelos principals com o eap_admin da função. A função necessita estar presente no security domain.
    <security-constraint>
    	<display-name>Restrict access to role eap_admin</display-name>
    	<web-resource-collection>
    		<web-resource-name>Restrict access to role eap_admin</web-resource-name>
    		<url-pattern>/DisplayOpResult/*</url-pattern>
    	</web-resource-collection>
    	<auth-constraint>
    		<role-name>eap_admin</role-name>
    	</auth-constraint>	
    	<security-role>
    		<role-name>eap_admin</role-name>
    	</security-role>
    </security-constraint>		
    			
    
    
  3. Especificação do security domain no jboss-web.xml do WAR.

    Adicione o security domain ao jboss-web.xml do WAR com o objetivo de conectar os servlets ao security domain configurado, que sabe como autenticar e autorizar os principals em referências de segurança. A seguinte amostra usa o security domain chamado acme_domain.
    <jboss-web>
    	...
    	<security-domain>acme_domain</security-domain>
    	...
    </jboss-web>