3.
认证页面的设置,可以自行设定,也可使用untangle内建的。下面左图是设置认证页面,右图是效果
Java文件为PageTypeUserType.java
类class PageTypeUserType implements UserType
与AuthenticationTypeUserTy
CPDBaseSettings部分在上面已描述
4.
查看登陆日志
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.
查看阻止日志
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() | 获取通信协议TCP或UDP或unknown |
accessors方法略…… Syslog method与功能4一样,可见上面 |
6. 其它文件或类
未讲述到的Java文件是CPD.java和CPDSettings.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部分的入口。
对应于上述功能,分别有下列get和set函数
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); | |