Cas d ' utilization: mise en cache des privilèges utilisateur
Dans ce cas d ' utilisateur, les privilèges utilisateur(«GOLD»,«SILVER»等)doivent être récupérés à partir d 'un service Web external。
倒réaliser ce cas d 'utilisation, effectuez les opérations suivantes
Créez une légende HTTP pour récupérer les privilèges utilisateur à partir du service Web external。
add policy httpcallout [-IPAddress ] [-port ] [-vServer ] [-returnType ] [-httpMethod (GET | POST)] [-hostExpr ] [-urlStemExpr ] [-headers …[-parameters …][-bodyExpr ][-fullReqExpr ][-scheme (http | https)] [-resultExpr ][-cacheForSecs ] [-comment ] add policy httpcallout get_user_privilege -ipaddress 10.217.193.84 -port 80 -returnType text -httpMethod GET -hostExpr '"/get_user_privilege"' -resultExpr 'http.res.body(5)'
Stockez les privilèges dans une变量。
add ns变量 -type [-scope (global | transaction)][-ifFull (undef | lru)][-ifValueTooBig (undef | truncate)][-ifNoValue (undef | init)][-init ] [-expires ] [-comment ] add ns变量user_privilege_map -type map(text(15),text(10),10000) -expires 1200 add ns assign set_user_privilege -variable $user_privilege_map[client.ip. ip。-set sys.http_callout(get_user_privilege)
Créez une stratégie pour vérifier s 'il存在déjà une entrée mise en cache pour l ' address IP du客户端;sinon, il applle la légende HTTP pour définir une entrée de mappage pour le客户端。
add cmp policy -rule -resAction add cmp policy set_user_privilege_pol -rule $user_privilege_map.valueExists(client.ip.src)set_user_privilege>
Créez une stratégie qui压缩si l 'entrée de privilège mise en cache pour le客户端est«GOLD»。
add cmp policy -rule -resAction add cmp policy compress_if_gold_privilege_pol -rule '$user_privilege_map[client.ip.src].eq("GOLD")' -resAction compress
Liez les stratégies de压缩全球。
bind cmp global [-priority ] [-state (ENABLED | DISABLED)] [-gotoPriorityExpression ] [-type ] [-invoke ( )] bind cmp global set_user_privilege_pol -priority 10 NEXT bind cmp global compress_if_gold_privilege_pol -priority 20 END
Cas d ' utilization: mise en cache des privilèges utilisateur
Copie !
Echec !