Java EE 8 Security

Agregar la seguridad mediante Java EE 8 Security APi editar el archivo web.xml

Definir

<web-resource-collection>

<auth-contraint>

<security-role>

Crearemos tres roles para nuestro ejercicio: ADMINISTRADOR, AUDITOR, SECRETARIA

<!--
JAVA EE 8 API SECURITY
    -->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Application pages</web-resource-name>
            <url-pattern>/faces/pages/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>ADMINISTRADOR</role-name> 
            <role-name>AUDITOR</role-name>
            <role-name>SECRETARIA</role-name>
        </auth-constraint>
    </security-constraint>
    
     
    <security-role>
        <role-name>ADMINISTRADOR</role-name>
    </security-role>
    <security-role>
        <role-name>AUDITOR</role-name>
    </security-role>  
    <security-role>
        <role-name>SECRETARIA</role-name>
    </security-role>

Archivo web.xml

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
    <context-param>
        <param-name>javax.faces.PROJECT_STAGE</param-name>
        <param-value>Development</param-value>
    </context-param>
    <servlet>
        <servlet-name>Faces Servlet</servlet-name>
        <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
        <load-on-startup>1</load-on-startup>
    </servlet>
    
    <servlet-mapping>
        <servlet-name>Faces Servlet</servlet-name>
        <url-pattern>/faces/*</url-pattern>
        <url-pattern>/javax.faces.resource/*</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>
            30
        </session-timeout>
    </session-config>
    <welcome-file-list>
        <welcome-file>faces/login.xhtml</welcome-file>
    </welcome-file-list>
    
    <!--
    -->
    <context-param>
        <param-name>primefaces.FONT_AWESOME</param-name>
        <param-value>true</param-value>
    </context-param>
           
    <mime-mapping>
        <extension>ttf</extension>
        <mime-type>css/fonts</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>otf</extension>
        <mime-type>font/opentype</mime-type>
    </mime-mapping>
    <mime-mapping>
        <extension>woff2</extension>
        <mime-type>font/woff2</mime-type>
    </mime-mapping>  
    <mime-mapping>
        <extension>woff</extension>
        <mime-type>font/woff</mime-type>
    </mime-mapping>  
    <mime-mapping>
        <extension>eot</extension>
        <mime-type>application/vnd.ms-fontobject</mime-type>
    </mime-mapping>
    
    <!--
    tema
    -->
    <context-param>
        <param-name>primefaces.THEME</param-name>
        <param-value>nova-light</param-value>
    </context-param>
    <!--
JAVA EE 8 API SECURITY
    -->
    <security-constraint>
        <web-resource-collection>
            <web-resource-name>Application pages</web-resource-name>
            <url-pattern>/faces/pages/*</url-pattern>
        </web-resource-collection>
        <auth-constraint>
            <role-name>ADMINISTRADOR</role-name>
            <role-name>AUDITOR</role-name>
            <role-name>SECRETARIA</role-name>
        </auth-constraint>
    </security-constraint>
    
     
    <security-role>
        <role-name>ADMINISTRADOR</role-name>
    </security-role>
   
    <security-role>
        <role-name>AUDITOR</role-name>
    </security-role>
    <security-role>
        <role-name>SECRETARIA</role-name>
    </security-role>
</web-app>

Last updated

Was this helpful?