Utilizzo di espressioni regolari
Utilizzare espressioni regolari (regex) per definire un pattern di URL che rappresenta più di un URL dell'applicazione enterprise e per il quale è possibile applicare lo stesso criterio di autenticazione e lo stesso criterio di autorizzazione.
Creare una lista di tutti gli URL per l'applicazione, quindi definire pattern di URL che mappano URL simili, in cui si desidera definire criteri di autenticazione e autorizzazione comuni.
Il modulo di gestione delle autorizzazioni di Gateway applicazioni supporta tutti i token disponibili per creare espressioni regolari, ad esempio classi di caratteri, ancoraggi, caratteri di escape, gruppo e riferimenti, ricerca, quantificatori e alternative e sostituzione.
| Operatore | Descrizione | Esempio |
|---|---|---|
Operatore di corrispondenza (.) |
Il carattere punto rappresenta questo operatore. | a.b corrisponde a una stringa di tre caratteri qualsiasi che inizia con a e termina con b |
Operatore Match-zero-or-more (*) |
Questo operatore ripete l'espressione regolare precedente più piccola possibile quante volte è necessario (compreso zero) per corrispondere al pattern | a* corrisponde a qualsiasi stringa composta da zero o più stringhe di a. In un altro esempio, fo* dispone di un o ripetuto e non di un fo ripetuto. Pertanto, fo* corrisponde a f, fo, foo e così via. |
Operatore Match-one-or-more (+) |
Questo operatore è simile all'operatore match-zero-or-more, tranne per il fatto che ripete l'espressione regolare precedente almeno una volta. | ca+r corrisponde a car e caaaar, ma non a cr |
Operatore di corrispondenza zero o uno (?) |
Questo operatore è simile all'operatore match-zero-or-more, tranne per il fatto che ripete l'espressione regolare precedente una volta o non affatto. | ca?r corrisponde sia a car che a cr, ma nient'altro. |
Nega (^) |
Negare un'espressione. | ^a corrisponde a qualsiasi carattere escluso a |
Operatori di raggruppamento ((...)) |
Regex tratta le espressioni all'interno della parentesi proprio come i linguaggi di matematica e programmazione trattano un'espressione parentemizzata come un'unità. Le espressioni vengono elaborate prima dell'espressione al di fuori delle parentesi. | f(a|b)a corrisponde a faa e fba, il che significa che l'operazione a|b viene elaborata prima del resto. |
Operatore alternativo (|) |
Le alternative corrispondono a una delle espressioni regolari scelte: se si inseriscono uno o più caratteri che rappresentano l'operatore di alternanza tra due espressioni regolari a e b, il risultato corrisponde all'unione delle stringhe che corrispondono a a e b. |
Come altro esempio, |
Operatori elenco ([ ... ] e [^ ... ]) |
Un elenco corrispondente corrisponde a un singolo carattere rappresentato da uno degli elementi dell'elenco. Un elemento è un carattere, un'espressione di classe di caratteri o un'espressione di intervallo. Gli elenchi non corrispondenti sono simili agli elenchi corrispondenti, ad eccezione del fatto che corrispondono a un singolo carattere non rappresentato da uno degli elementi dell'elenco. |
Come esempio non corrispondente, |
Operatore intervallo (-) |
Rappresenta i caratteri compresi tra due elementi della sequenza di ordinamento corrente. | [a-f] rappresenta tutti i caratteri compresi tra a e f. |
Cifra (\d) |
Corrisponde a qualsiasi carattere numerico (0-9). | Sinonimo di [0-9] |
Senza cifra (\D) |
Corrisponde a qualsiasi carattere che non sia una cifra (0-9). | Sinonimo di [^0-9] |
Escape (\) |
Rende il carattere successivo nell'espressione significa il carattere stesso, ma non un operatore. | \. indica il periodo, non l'operatore Match-any-character. |
Uso dell'espressione regolare
Ad esempio, se si desidera consentire l'accesso solo agli utenti autenticati per qualsiasi pagina dell'applicazione che inizia con my e si trova nel percorso /mybank, è possibile utilizzare l'espressione regolare /mybank/my.*
Il punto (.) e la stella (*) insieme rappresentano qualsiasi sequenza di zero o più caratteri consecutivi dopo il prefisso my.
In questo esempio, gli URL /mybank/myCredits e /mybank/myDebits corrispondono al pattern /mybank/my.*, ma /mybank/about no.