Замена radius-атрибутов при авторизации
Материал из BiTel WiKi
Версия от 08:07, 15 апреля 2010; Cromeshnic (Обсуждение | вклад)
Работает в 4.6 и 5.0
Для некоторых NAS при RADIUS аутентификации С IOS 12.3 не распознается атрибут
cisco-avpair=ip:sub-qos-policy-in=; cisco-avpair=ip:sub-qos-policy-out=;
Скрипт заменяет атрибуты на:
lcp:interface-config#1=service-policy input и lcp:interface-config#1=service-policy output.
Событие "radius аутентификация".
import bitel.billing.server.contract.bean.*; import java.util.*; import bitel.billing.server.util.*; import bitel.billing.server.radius.*; import java.sql.*; import java.util.*; import bitel.billing.common.CommonTimeUtils; import bitel.billing.server.util.Utils; import bitel.billing.server.card.bean.*; request = event.getRequest(); response = event.getResponse(); if (request.hasAttribute(32) && request.getStringAttribute(32).equals("010.010.002.001")) { list = response.getVendorAttributes(Vendors.CISCO, 1); if (list != null) { int i = 1; for (it = list.iterator(); it.hasNext();) { ra = (RadiusVendorAttribute)it.next(); s = ra.getStringValue(); if (s.indexOf("ip:sub-qos-policy-in=") >= 0) { print (s.replaceFirst("ip:sub-qos-policy-in=","lcp:interface-config#" + i + "=service-policy input ")); ra.setStringValue(s.replaceFirst("ip:sub-qos-policy-in=","lcp:interface-config#" + i + "=service-policy input ")); } if (s.indexOf("ip:sub-qos-policy-out=") >= 0) { print (s.replaceFirst("ip:sub-qos-policy-out=","lcp:interface-config#" + i +"=service-policy output ")); ra.setStringValue(s.replaceFirst("ip:sub-qos-policy-out=","lcp:interface-config#" + i +"=service-policy output ")); } i++; } } }