captive portal code view (java部分)II

3.   Captive Page

认证页面的设置,可以自行设定,也可使用untangle内建的。下面左图是设置认证页面,右图是效果

captive <wbr>portal <wbr> <wbr>code <wbr>view <wbr>(java部分)II

captive <wbr>portal <wbr> <wbr>code <wbr>view <wbr>(java部分)II

结构类似 User Authentication

 

Java文件为PageTypeUserType.java   CPDBaseSettings.java

class PageTypeUserType implements UserType

AuthenticationTypeUserType类结构一样,可参考上面的说明

CPDBaseSettings部分在上面已描述

 

4.   Login Event Log

查看登陆日志

Java文件为CPDLoginEvent.java

class CPDLoginEvent extends LogEvent 继承自LogEvent

该父类来自于com.untangle.uvm.logging.LogEvent

成员函数或变量

说明

enum EventType { LOGIN, UPDATE, FAILED, LOGOUT }

枚举,显示目前状态

CPDLoginEvent()构造函数,传入参数见右边

InetAddress clientAddr

客户端地址

String loginName

客户端name

AuthenticationType type

验证方式,即

ACTIVE_DIRECTORY, RADIUS, LOCAL_DIRECTORY, NONE中一种

EventType event

登陆状态,即LOGIN, UPDATE, FAILED, LOGOUT中一种

还有一些上述4个参数accessors函数,不再列举,下面是Syslog methods,记录至系统日志

void appendSyslog(SyslogBuilder sb)

记录上述四个变量信息

String getSyslogId()

返回CPD Login

SyslogPriority getSyslogPriority()

返回的优先级为

INFORMATIONAL级别

String toString()

将上述信息转换成一个string字符串

 

5.   Block Event Log

查看阻止日志

Java文件为BlockEvent.java

class BlockEvent extends LogEvent implements Serializable

构造函数为空

成员函数或变量

说明

private short protocol;

private byte clientIntf;

private InetAddress clientAddress;

private InetAddress serverAddress;

private int clientPort;

private int serverPort;

分别是通信协议类型,客户端接口,客户端地址,服务器地址,客户端端口,服务器端口

String getProtocolName()

获取通信协议TCPUDPunknown

accessors方法略……

Syslog method与功能4一样,可见上面

 

6. 其它文件或类

未讲述到的Java文件是CPD.javaCPDSettings.java下面罗列了其作用以及类中的函数和变量。

CPDSettings.java

 class CPDSettings implements Serializable 这个类用来控制线程,规则列表,用户列表,以及basesettings。是一个主要的控制类。即上述几个功能获取的数据都会传给这个类,并和数据库链接起来。

 

成员变量和成员函数

说明

public static enum AuthenticationType {ACTIVE_DIRECTORY, RADIUS, LOCAL_DIRECTORY, NONE }

即上面所说的枚举结构

public static enum PageType { BASIC_LOGIN,BASIC_MESSAGE, CUSTOM }

同上

private Long id

线程ID(这个ID做啥用?)

private Tid tid

线程控制

private List<CaptureRule> captureRules = newLinkedList<CaptureRule>()

规则列表

private List<PassedClient> passedClients = newLinkedList<PassedClient>()

允许的客户端列表(即不用身份验证)

private List<PassedServer> passedServers = newLinkedList<PassedServer>()

允许的服务器列表(同上)

private CPDBaseSettings baseSettings = newCPDBaseSettings()

基础设定,具体哪些设置已在点2中提出

public CPDSettings( Tid tid)

构造函数,传入一个线程。按我理解应该是一个线程分配一个用户。

accessors方法略……

 

 public interface CPD extends Node 易见是整个java部分的入口。

对应于上述功能,分别有下列getset函数

setCPDSettings()

getCPDSettings()

setBaseSettings()

getBaseSettings()

setCaptureRules()

getCaptureRules()

setPassedClients()

getPassedClients()

setPassedServers()

getPassedServers()

setAll() 即设置上述所有内容

此外还有下列几个函数

public boolean authenticate( String address, String username, String password, String credentials );

身份验证,如果通过则返回true

public boolean logout( String address );

登出,如果登出返回true

public EventManager<CPDLoginEvent> getLoginEventManager();

来自于com.untangle.uvm.

logging.EventManager

尚不清楚功能

public EventManager<BlockEvent> getBlockEventManager();

同上

public enum BlingerType { BLOCK, AUTHORIZE };

 

public void incrementCount(BlingerType blingerType, long delta);

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值