使用问题:会议范围限制
Dans ce cas d 'utilisation, il est nécessaire限制le nombre de sessions后台活动。Dans le déploiement,查询会话连接possède unidentiidentidans l 'URL et chaque déconnexion de session possède une déconnexion Dans l 'URL。En cas de connexion réussie, le backend définit un cookie sessionid avec une valeur unique de 10 caractères。
倒réaliser ce cas d 'utilisation, effectuez les opérations suivantes:
Créez une variable cartographique qui peut stocker charque session active。La clé de La carte est le sessionid。Le délai d 'expiration de la variable est défini sur 600秒(10分钟).
>添加变量session_map -type map(text(10),ulong,100) -expires 600
Créez les affents suivantes pour la variable de carte:
Créez une entrée pour le sessionid et définissez价值论1(价值论pas réellement utilisée).
$session_map[http.req.cookie.value("sessionid")]' -set 1
Désallouez l 'entrée pour un ID de session, ce qui décrémente隐含le nombre de valeurs pour session_map.
> add ns assign delete_session -variable '$session_map[http.req.cookie.value("sessionid")]' -clear
Créez des stratégies de répondeur pour les éléments suivants:
Pour vérifier si une entrée de carte exist Pour cet ID de session dans la requête HTTP。L 'affectation add_session est exécutée si L 'entrée de carte n ' exist pas.
>添加响应器策略add_session_pol 'http.req.url.contains("example") || $session_map.valueExists(http.req.cookie.value("abc"))' add_session
备注:La function valueExists() de La stratégie add_session_pol compte comme une référence à l 'entrée de map de La session, de sorte que chque requête réinitialise le délai d 'expiration de sa session。Si aucune demand de session n 'est reçue après 10分钟,l 'entrée de la session sera désallouée。
倒vérifier quand la会话est déconnectée。L ' afftation delete_session est exécutée.
add responder policy delete_session_pol "http.req.url.contains("Logout")" delete_session
倒vérifier les demand de connection et si le nombre de sessions active dépasse 100。 . . . . .
添加响应器动作redirect_too_busy重定向"/too_busy.html"添加响应器策略check_login_pol "http.req.url.contains("example") && $session_map。valueCount > 100" redirect_too_busy
répondeur全球政治。
绑定响应器全局add_session_pol 30 next绑定响应器全局delete_session_pol 10绑定响应器全局check_login_pol 20