|
AXL RADIUS Server API V3 | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||
ObjectProxyTarget
Proxy target class. Sets up the name, InetAddress and ports for a proxy target.
This class configures a proxy (forwarding) server the current server will use to forward packets based on the User-Name attribute's realm.
Multiple realms may be forwarded to this fowarding server by using the
setSynonyms() method.
The empty realm (and empty string) will forward User-Names without realms
to the ProxyTarget having an empty synonym. If there is no empty
synonym defined it will be handled by the local server.
Support for Disconnect-Requests and Change of authorization requests has been added as well. A ProxyTarget may permit or deny these messages as well as set the server port for the responses to these requests. The default is to deny these messages.
Some Vendor-Specific attributes use long tags (16 bit) in their sub-attributes.
These can be configured on a per-proxy basis using the addLongVendorSpecificTags(int vendorId).
This information is used when decoding Vendor-Specific attributes. Please see
the example described in the method hasLongVendorSpecificTags(int vendorId).
Incidentally the server may also configured a ProxyTarget. It has no meaningful secret. Please
see RADIUSServer.setServerInfo(ProxyTarget pt).
addProxyTarget(),
removeProxyTarget()| Field Summary | |
int |
acctPort
The proxy server accounting port. |
int |
authPort
The proxy server authentication port. |
int |
dmcoaPort
The proxy server DM /COA packet server port. |
String |
secret
The proxy server secret. |
InetAddress |
targetAddr
IP address of the target. |
String |
targetName
Name of the target. |
| Constructor Summary | |
ProxyTarget(String targetName,
InetAddress targetAddr,
int authPort,
int acctPort,
int dmcoaPort,
String secret)
ProxyTarget constructor to create a proxy. |
|
ProxyTarget(String targetName,
InetAddress targetAddr,
int authPort,
int acctPort,
String secret)
ProxyTarget constructor to create a proxy. |
|
| Method Summary | |
void |
addLongVendorSpecificTags(int vendorId)
Enable the reception of long Vendor-Specific attribute tags for this NAS. |
boolean |
allowCoARequests()
Determine if this PT allows CoA forwarding. |
boolean |
allowDisconnectRequests()
Determine if this PT allows DM forwarding. |
boolean |
containsSynonym(String realm)
See if this proxy target handles a particular realm |
void |
enableCoARequests(boolean enable)
Enable a Proxy target to send CoA-Requests. |
void |
enableDMRequests(boolean enable)
Enable a Proxy target to send Disconnect-Requests. |
String |
getName()
Get the name of the forwarding server. |
NAS |
getNAS()
Get the NAS entry for the ProxyTarget. |
String[] |
getSynonyms()
Get the list realms this ProxyTarget will automatically handle as synonyms. |
boolean |
hasLongVendorSpecificTags(int vendorId)
Determine if long attribute tags are enabled for this Vendor. |
void |
setSynonyms(String[] realmList)
Create a list of realms this ProxyTarget will automatically handle. |
String |
toString()
String representation of a ProxyTarget. |
boolean |
verify()
Check this ProxyTarget for the necessities. |
| Methods inherited from class Object |
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public int acctPort
public int authPort
public int dmcoaPort
public String secret
public InetAddress targetAddr
public String targetName
| Constructor Detail |
public ProxyTarget(String targetName,
InetAddress targetAddr,
int authPort,
int acctPort,
int dmcoaPort,
String secret)
targetName - Realm name for the proxy server.targetAddr - IP Address of the proxy server.authPort - Authentication port of the proxy server.acctPort - Accounting port of the proxy server.dmcoaPort - The port for the DM / COA packet response port.
Extended packets might include the Disconnect-Message and Change-of-Authorization client or
other, future extended RADIUS server ports.secret - Secret shared with the proxy server.
public ProxyTarget(String targetName,
InetAddress targetAddr,
int authPort,
int acctPort,
String secret)
targetName - Realm name for the proxy server.targetAddr - IP Address of the proxy server.authPort - Authentication port of the proxy server.acctPort - Accounting port of the proxy server.secret - Secret shared with the proxy server.| Method Detail |
public void addLongVendorSpecificTags(int vendorId)
vendorId - Permit long VSA tags for this Vendor-Id.hasLongVendorSpecificTags(int vendorId)public boolean allowCoARequests()
public boolean allowDisconnectRequests()
public boolean containsSynonym(String realm)
realm - Realm to test.
public void enableCoARequests(boolean enable)
enable - Set to true to enable CoA-Requests (Change-of-Authorization).public void enableDMRequests(boolean enable)
enable - Set to true to enable Disconnect-Requests.public String getName()
public NAS getNAS()
NAS.public String[] getSynonyms()
public boolean hasLongVendorSpecificTags(int vendorId)
This is commonly used with the Vendor-Specific class to extract or create long tags in the sub-attributes. For example this might be used in ProxyImpl as:
public void changeRequest(ProxyInfo prx)
{
AttributeList inList = prx.getRequestAttributeList();
...
// Get the originating NAS information.
ProxyTarget pt = prx.getProxyTargetByRealm(prx.getRealm());
// Use the ProxyTarget information to extract the VSA sub-attributes
// depending on the vendor id.
VendorSpecific vs[] = inList.getVendorSpecific(2000,
pt.hasLongVendorSpecificTags(2000));
...
}
vendorId - The vendor Id.
public void setSynonyms(String[] realmList)
ProxyImpl implementation.
realmList - List of realms.public String toString()
public boolean verify()
|
AXL RADIUS Server API V3 | |||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||