安全日志同步SDK组件概述
业务需求
iuap、NC Cloud产品的开发非常迅速,为了保障安全性,需要有对应的日志进行记录,保证有迹可循,这种情况下就需要开发一套可满足国家及行业安全和规范要求的安全日志系统。
解决方案
安全日志组件为iuap、NC Cloud产品开发提供安全日记记录的方法及工具。比喻,用户登录,用户认证,金额调整等等,都需要记录用户的轨迹。
整体设计
依赖环境
1.1,组件采用Maven进行编译和打包发布,其对外提供的依赖方式如下:
<dependency>
<groupid>com.yonyou.iuap</groupid>
<artifactid>iuap-securitylog-local-sdk</artifactid>
<version>${iuap.modules.version}</version>
</dependency>
${iuap.modules.version} 为平台在maven私服上发布的组件的version。
基本概念
安全日志同步调用SDK组件,这里的同步是指使用者在调用本组件接口写安全日志时,调用者的业务逻辑和写日志是同步进行的,在安全日志调用返回前,调用者需要等待。
使用方式
本组件为安全日志服务的同步SDK组件,需要集成到具体业务应用服务中。本组件的使用依赖于安全日志服务组件,即要部署安全日志服务,具体参考安全日志服务的使用说明。
使用说明
组件配置
(1)spring配置参考示例工程中,security-example-applicationContext.xml。
(2)需要配置服务信息的配置文件securitylogconfiger.properties,也支持从环境变量中传入,key值为securitylogconfiger-filePath,传入方式为securitylogconfiger-filePath = 配置文件路径。
#使用非公有服务时,需要配置日志服务所在的ip和端口
serverip=127.0.0.1
serverport=8080
#应用名
appname=iuap-securitylog-server
示例代码
调用工具类:在要记录日志的地方,调用com.iuap.log.security.utils.SecurityLogUtil.saveLog(SecurityLog)方法来记录日志
public void testSaveLog() throws UnsupportedEncodingException {
SecurityLog log = new SecurityLog();
log.setContentDes("用户登录失败,原因:密码不正确!");//内容描述
log.setNotice("登录失败");//相关提示
log.setTimestamp(new Date());//时间戳
log.setIp("172.16.50.238");//请求源IP地址
log.setProduct("HR");//产品标识
log.setResult("sucess");//结果
log.setSystem("10.12.6.84");//所在系统,服务器信息
log.setLevel("60");//安全等级
log.setUserAuthType("Login");//用户认证类型
log.setUserIdentify("admin");//用户身份标识,一般为管理员,普通用户
log.setUserCode("usercode");//用户编码
SecurityLogUtil.saveLog(log);
}
API接口
获取编码规则API
描述
根据编码规则编码查询编码规则
请求方法
com.iuap.log.security.utils.SecurityLogUtil.saveLog(SecurityLog log)
请求方式
服务调用
请求参数说明
SecurityLog
参数字段 | 必选 | 类型 | 长度限制 | 说明 |
---|---|---|---|---|
contentDes | True | String | 1024 | 内容描述 |
notice | True | String | 255 | 相关提示 |
timestamp | True | Date | 无 | 时间戳 |
ip | True | String | 255 | 请求源IP地址 |
product | True | String | 255 | 产品标识 |
system | True | String | 255 | 所在系统,服务器信息 |
level | True | String | 255 | 安全等级 |
userAuthType | True | String | 255 | 用户认证类型 |
userIdentify | True | String | 255 | 用户身份标识,一般为管理员,普通用户 |
userCode | True | String | 255 | 用户编码 |
返回参数说明
boolean