Deployment Guide
Table Of Contents
- Table of Contents
 - Preface
 - About Extreme Campus Controller Deployment
 - Configuring DHCP, NPS, and DNS Services
 - Centralized Site with a Captive Portal
 - Centralized Site with AAA Network
 - Deploying a Mesh Network
 - Configuring an External NAC Server for MBA and AAA Authentication
 - Manage RADIUS Servers for User Authentication
 - External Captive Portal on a Third-Party Server
 - Access Control Rule Admin Portal Access
 - Deploying Centralized Web Authentication
 - Deploying ExtremeCloud IQ - SE as an External Captive Portal
- Deployment Strategy
 - Configuring an External Captive Portal Network
 - Editing the Configuration Profile for Network and Roles
 - Extreme Campus Controller Default Pass-Through Rule
 - Adding Extreme Campus Controller as a Switch to ExtremeCloud IQ - Site Engine
 - Editing the Unregistered Policy on ExtremeCloud IQ - Site Engine
 - Editing the ExtremeCloud IQ - Site Engine Profile for Policy and Location-Based Services
 
 - Deploying an ExtremeGuest Captive Portal
 - Deploying Client Bridge
 - Deploying an Availability Pair
 - Deploying Universal APs
 - Extreme Campus Controller Pair with ExtremeLocation and AirDefense
 - ECP Local Authentication
 - PHP External Captive Portal, Controller’s Firewall Friendly API
 - Index
 
 return false;
 }
 $parser = xml_parser_create('');
 if(!$parser) {
 return false;
 }
 xml_parser_set_option($parser, XML_OPTION_TARGET_ENCODING,
 'UTF-8');
 xml_parser_set_option($parser, XML_OPTION_CASE_FOLDING, 0);
 xml_parser_set_option($parser, XML_OPTION_SKIP_WHITE, 1);
 xml_parse_into_struct($parser, trim($contents), $xml_values);
 xml_parser_free($parser);
 if (!$xml_values) {
 return array();
 }
 $xml_array = array();
 $last_tag_ar =& $xml_array;
 $parents = array();
 $last_counter_in_tag = array(1=>0);
 foreach ($xml_values as $data)
 {
 switch($data['type'])
 {
 case 'open':
 $last_counter_in_tag[$data['level']+1] = 0;
 $new_tag = array('name' => $data['tag']);
 if(isset($data['attributes']))
 $new_tag['attributes'] = $data['attributes'];
 if(isset($data['value']) && trim($data['value']))
 $new_tag['value'] = trim($data['value']);
 $last_tag_ar[$last_counter_in_tag[
$data['level']]] = $new_tag;
 $parents[$data['level']] =& $last_tag_ar;
 $last_tag_ar =& $last_tag_ar[
 $last_counter_in_tag[$data['level']]++];
 break;
 case 'complete':
 $new_tag = array('name' => $data['tag']);
 if(isset($data['attributes']))
 $new_tag['attributes'] = $data['attributes'];
 if(isset($data['value']) &&
 trim($data['value']))
 $new_tag['value'] = trim($data['value']);
 $last_count = count($last_tag_ar)-1;
 $last_tag_ar[ $last_counter_in_tag[$data[
'level' ]]++ ] = $new_tag;
 break;
 case 'close':
 $last_tag_ar =& $parents[$data['level']];
 break;
 default:
 break;
 };
 }
 return $xml_array;
 }
 function get_value_by_path($__xml_tree, $__tag_path)
 {
 $tmp_arr =& $__xml_tree;
 $tag_path = explode('/', $__tag_path);
 foreach($tag_path as $tag_name)
 {
 $res = false;
 foreach($tmp_arr as $key => $node)
common_utilities.php
PHP External Captive Portal, Controller’s Firewall
Friendly API
206 Extreme Campus Controller Deployment Guide for version 5.46.03










