Uso de expresiones regulares
Utilice expresiones regulares para definir un patrón de URL que represente más de una URL de la aplicación empresarial y para la que puede aplicar la misma política de autenticación y la misma política de autorización.
Cree una lista de todas las URL de la aplicación y, a continuación, defina patrones de URL que asignen URL similares en las que desee definir políticas comunes de autenticación y autorización.
El motor de autorización del gateway de aplicación soporta todos los tokens disponibles para crear expresiones regulares, como clases de caracteres, anclajes, caracteres de escape, grupo y referencias, consulta, cuantificadores y alternancia, y sustitución.
| Operador | Descripción | Ejemplo |
|---|---|---|
Operador de coincidencia de cualquier carácter (.) |
El carácter de punto representa a este operador. | a.b coincide con cualquier cadena de tres caracteres que empiece por a y termine por b |
Operador de cero o más coincidencias (*) |
Este operador repite la expresión regular anterior más pequeña posible tantas veces como sea necesario (incluido cero) para que coincida con el patrón | a* coincide con cualquier cadena compuesta por cero o más a. En otro ejemplo, fo* tiene una o repetitiva, no una fo repetitiva. Por lo tanto, fo* coincide con f, fo, foo, etc. |
Operador de una y más coincidencias (+) |
Este operador es similar al operador de cero o más coincidencias, con la excepción de que repite la expresión regular anterior al menos una vez. | ca+r coincide con car y con caaaar, pero no con cr |
Operador de cero o una coincidencia (?) |
Este operador es similar al operador de cero o más coincidencias, con la excepción de que repite la expresión regular anterior una vez o no la repite. | ca?r coincide con car y con cr, pero con nada más. |
Negar (^) |
Niega una expresión. | ^a coincide con cualquier carácter, excepto con a |
Operadores de agrupación ((...)) |
La expresión regular trata las expresiones dentro de un paréntesis al igual que las matemáticas y los lenguajes de programación tratan una expresión entre paréntesis como una unidad. Las expresiones se procesan antes que la expresión fuera del paréntesis. | f(a|b)a coincide con faa y con fba, lo que significa que la operación a|b se procesa antes que el resto. |
Operador de alternancia (|) |
Las alternancias coinciden con una de las opciones de expresiones regulares: si coloca uno o más caracteres que representan el operador de alternancia entre dos expresiones regulares a y b, el resultado coincide con la unión de las cadenas con las que coinciden a y b. |
Como ejemplo adicional, |
Operadores de Lista ([ ... ] y [^ ... ]) |
Una lista coincidente coincide con un único carácter representado por uno de los elementos de la lista. Un elemento es un carácter, una expresión de clase de carácter o una expresión de rango. Las listas no coincidentes son similares a las listas coincidentes, excepto que coinciden con un único carácter no representado por uno de los elementos de la lista. |
Como ejemplo de no coincidente, |
Operador de rango (-) |
Representa los caracteres que están entre dos elementos en la secuencia de intercalación actual. | [a-f] representa todos los caracteres de a a f inclusive. |
Dígito (\d) |
Coincide con cualquier carácter de dígito (0-9). | Igual que [0-9] |
Sin dígito (\D) |
Coincide con cualquier carácter que no sea un dígito (0-9). | Igual que [^0-9] |
Escape (\) |
Hace que el siguiente carácter de la expresión signifique el propio carácter, pero no un operador. | \. significa punto, no el operador de coincidencia con cualquier carácter. |
Uso de la expresión regular
Por ejemplo, si desea permitir solo a los usuarios autenticados acceder a cualquier página de la aplicación que empiece por my y esté en la ruta de acceso /mybank, puede utilizar la expresión regular /mybank/my.*
El punto (.) y el asterisco (*) representan conjuntamente cualquier secuencia de cero o más caracteres consecutivos después del prefijo my.
En este ejemplo, las URL /mybank/myCredits y /mybank/myDebits coinciden con el patrón /mybank/my.*, pero /mybank/about no coincide.