siteadmin:realm_filtering
Differences
This shows you the differences between two versions of the page.
| Next revision | Previous revision | ||
| siteadmin:realm_filtering [2019/08/13 09:46] – created admin | siteadmin:realm_filtering [2019/12/05 10:51] (current) – admin | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | Basic syntax checking can be done with the ' | + | Basic syntax checking can be done with the ' |
| + | < | ||
| + | # | ||
| + | # | ||
| + | # Force some sanity on User-Name. This helps to avoid issues | ||
| + | # issues where the back-end database is " | ||
| + | # what constitutes a user name. | ||
| + | </ | ||
| + | |||
| + | Example usage: | ||
| < | < | ||
| authorize { | authorize { | ||
| Line 10: | Line 19: | ||
| </ | </ | ||
| + | To filter out unwanted realms, such as ' | ||
| + | |||
| + | < | ||
| + | ## Filter out NULL realms e.g. Username = fred | ||
| + | |||
| + | realm NULL { | ||
| + | } | ||
| + | |||
| + | ## Filter out realms that aren't every going to be valid Govroam realms e.g. Username = fred@hotmail.com | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | |||
| + | realm " | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | alternatively | ||
| + | |||
| + | < | ||
| + | check_bad_realms { | ||
| + | if (& | ||
| + | ## reject usernames that end with realms that are never going to be govroam/ | ||
| + | ## is there a way to automate this??! | ||
| + | |||
| + | ## stuff here will be matched for just eduroam | ||
| + | if (& | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | } | ||
| + | |||
| + | |||
| + | ## stuff here will be matched for just govroam | ||
| + | if (& | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | } | ||
| + | |||
| + | ## stuff here will be matched for both govroam and eduroam | ||
| + | ## Common realm provided by phone manufacturers by default | ||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | ## Username is not an email address. | ||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | ## Ends in ' | ||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | |||
| + | | ||
| + | ## Ends in a single character - all TLDs are 2+ characters. | ||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | ## All subrealms should have more than one character | ||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | |||
| + | ## Misspellings and misunderstandings | ||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | ## Starts with a ' | ||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | | ||
| + | ## Some typical inappropriate realms. | ||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | if (& | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | |||
| + | |||
| + | |||
| + | } else { | ||
| + | update request { | ||
| + | & | ||
| + | } | ||
| + | reject | ||
| + | } | ||
| + | } | ||
| + | |||
| + | </ | ||
| + | Many thanks to Matt Richards from Bath University for this code. | ||
siteadmin/realm_filtering.1565689609.txt.gz · Last modified: 2019/08/13 09:46 by admin
