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 con 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 o 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] |
No 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.