Menu

XmlRoleResourceAccess

Alberto Sanchez Lopez

El XmlRoleResourceAccess es un [ResourceAccessAllower] que permite que un usuario tenga acceso a los recursos del aplicativo dependiendo del role y privilegios que tenga.

Para utilizarlo dento del NA_Authenticator se debe utilizar una configuración similar a la siguiente:

        <resourceAccessAllower class="neoAtlantis.utils.accessController.resourceAccessAllower.XmlRoleResourceAccess">
            <param name="restrictivo" value="true" type="boolean" />
            <param name="config" value="%HOME_WEBINF%accesoRecursos.xml" />
        </resourceAccessAllower>

Donde:
restrictivo - Opcional. Define la forma en que se valida el acceso a los recursos. cuando es "true" limita el acceso a cualquier recurso que se intente acceder y no este explicitamente definido su regla de acceso, y cuando esta definido como "false" permite el acceso a cualquier recurso que se intente acceder y no este explicitamente definido su regla de acceso.
config - Obligatorio. Ruta al archivo XML que contiene la información de las reglas de acceso

Un ejemplo de un archivo de reglas de acceso seria el siguiente:

<?xml version="1.0" encoding="UTF-8"?>

<accessResources login="login.jsp" home="inicio.jsp" sessionMessage="Su sesión ha vencido." deniedMessage="No esta autorizado para acceder al recurso solicitado.">
    <exceptions>
        <page>index.jsp</page>
        <directory>resources/styles</directory>
        <resource>png</resource>
    </exceptions>
    <resourcesPermissions>
        <directory name="generales">
            <roles>
                <role>users</role>
            </roles>
            <permissions>
                <permission>logged</permission>
            </permissions>
        </directory>
    </resourcesPermissions>
</accessResources>

Donde:

  • login - Opcional. Cadena. Ruta de la página a la que se debe dirigir en caso de haber finalizado la sesión del usuario, por default "login.html"
  • home - Opcional. Cadena. Ruta de la página a la que se debe dirigir en caso de no tener acceso a algún recurso, por default "index.html"
  • sessionMessage - Opcional. Cadena. Mensaje de notificación que se muestra al usuario cuando la sesión del usuario ha finalizado, por default "Su sesión ha expirado"
  • deniedMessage - Opcional. Cadena. Mensaje de notificación que se muestra al usuario cuando acceder a un recurso al cual no esta permitido, por default "Sin privilegios suficientes"
  • exceptions - Lista de recursos son cuales seran omitidos dentro de las validaciones
    • page - Página. Ruta de la página a omitir
    • directory - Directorio. Ruta del directorio a omitir, todos los archivos y directorios que se localicen dentro de este tambien seran omitidos
    • resource - Recurso. Todos los archivos que tengan esta extensión seran omitidos
  • resourcesPermissions Lista de reglas de acceso a recursos, de los cuales pueden ser:
    * page - Página. Ruta de la página a validar
    * directory - Directorio. Ruta del directorio a validar, para todos los archivos y directorios que se localicen dentro de este aplica la misma regla
    * resource - Recurso. Se validarán todos los archivos que tengan esta extensión
    • roles - Obligatorio. Lista de roles de los cuales el usuario conectado debe de pertenecer al menos a uno para poder acceder al recurso
    • permissions - Obligatorio. Lista de prrivilegios de los cuales el usuario conectado debe de pertenecer al menos a uno para poder acceder al recurso

Nota: el privilegio "logged" y el rol "users", son valores que se asignan por default a todos los usuarios una vez que son autenticados


Related

Wiki: ResourceAccessAllower