Замена radius-атрибутов при авторизации

Материал из BiTel WiKi

Перейти к: навигация, поиск

Работает в 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++;
		}
	}
}
Личные инструменты