Skip to end of metadata
Go to start of metadata

 

 

参数名描述
databaseService数据库操作对象
webServiceHTTP请求操作对象
ldapServiceLDAP操作对象
userService用户操作对象
redisServiceRedis操作对象
reportService报表操作对象
wxcpService微信企业号操作对象
sessionServiceSession操作对象
request用户的请求
outSystem.out
loggerLogger操作对象

 


databaseService对象方法

方法原型描述

public List query(String connectionName, String sql)

通过指定的连接,执行指定的sql,并获得List的返回值

public List query(String connectionName, String sql, List param)

通过指定的连接,执行指定的sql,传入sql中需要的参数,并获得List的返回值


webService对象方法

方法原型描述

public String get(String url)

GET请求指定的url,并获得返回值
public String get(String url, Map header)GET请求指定的url,并获得返回值,可以自定义Header
public String post(String url)POST请求指定的url,并获得返回值
public String post(String url, String reqBody)POST请求指定的url,可以自定义请求体
public String post(String url, String contentType, String reqBody)POST请求指定的url,可以自定义content-type和请求体
public String post(String url, Map header, String reqBody)POST请求指定的url,可以自定义header和请求体
public String post(String url, Map header)POST请求指定的url,可以自定义header


userService对象方法

方法原型描述

public String hasUser(String username)

系统中是否有这个用户

public String verifyUser(String username, String password, boolean originPassword)

使用系统的账号系统验证用户名和密码,originPassword如果为true,则不对密码进行处理
public boolean loginUser(String username)用户登录


sessionService对象方法

方法原型描述

public void putString(String key, String value)

向session中存入字符串

public String getString(String key)

从session中获取字符串


ldapService对象方法

方法原型描述

public boolean auth(String host, String port, String type, String domain, String username, String password) 

LDAP认证

 

wxcpService对象方法

方法原型描述

public void addUserToTag(String configId, String tagName, Collection<String> usernames) 

将微信用户添加到指定的TAG中
将微信企业号用户加入指定的标签
var wxConfigId = "abc";  //配置ID,报表平台->微信企业号->编辑->ID
var wxTagName = "标签名称"; //微信企业号中的标签名称
var usernames = JSONArray();
usernames.add("username1"); //报表平台用户名
usernames.add("username2"); //报表平台用户名
wxcpService.addUserToTag(wxConfigId, wxTagName, usernames);

 

redisService对象方法

方法原型描述

public String get(String ip, int port, String key)

单机读取操作
public String get(String ip, int port, String key, String password)单机认证、读取操作
public String clusterGet(List addrs, String key)集群读取操作
public void del(String ip, int port, String key)单机删除操作
public void del(String ip, int port, String key, String password)单机认证、删除操作
public void clusterDel(List addrs, String key)集群删除操作
从Redis集群中取值
	var redisKey = "theKey";
    var redisAddrs = new ArrayList();
    redisAddrs.add("192.168.1.2:7000");
    redisAddrs.add("192.168.1.3:7001");
    redisAddrs.add("192.168.1.4:7002");
    var theValue = redisService.clusterGet(redisAddrs, redisKey);

 




脚本示例:

数据库验证用户名密码
importPackage(java.util); 
importPackage(org.apache.commons.codec.digest); 
//获取用户登录时填写的用户名和密码 
var username=request.getParameter("username"); 
var password=request.getParameter("password"); 
//将密码MD5加密 
var md5Password = DigestUtils.md5Hex(password);
//用户库的连接名称
var connectionName = "local dataset"; 
var param = new ArrayList(); 
param.add(username); 
param.add(md5Password); 
//查询用户库 
var sql = "select username,password from users where username=? and password=?"; 
var data = databaseService.query(connectionName, sql, param); 
if(data.size() === 0){ 
	result.setSuccess(false); 
	result.setMessage("用户名或密码错误"); 
}else{ 
	result.setSuccess(true); 
}
LDAP用户认证
importPackage(java.util); 
importPackage(org.apache.commons.codec.digest); 
//获取用户登录时填写的用户名和密码 
var username=request.getParameter("username"); 
var password=request.getParameter("password"); 
//LDAP查询
var host = "127.0.0.1";//LDAP主机地址
var port = "389"; //LDAP端口
var type = "simple"; //不用修改
var domain = "abc.com"; //域
var success = ldapService.auth(host,port,type,domain,username,password);
if(success){ 
	result.setSuccess(true);
}else{ 
	result.setSuccess(false); 
	result.setMessage("用户名或密码错误"); 
}
WebService用户认证脚本
importPackage(java.util);
importPackage(org.apache.commons.codec.digest);
importPackage(com.alibaba.fastjson);
importPackage(org.apache.commons.lang);
//获取用户登录时填写的用户名和密码
var username=request.getParameter("username");
var password=request.getParameter("password");
var str = webService.get("http://127.0.0.1:8080/login?username="+username+"&password="+password);
if(!StringUtils.isEmpty(str)){
	var json = JSONObject.parseObject(str);
	var success = json.getBoolean("success");
	if(!success){
		result.setSuccess(false);
		result.setMessage("用户名或密码错误");
	}else{
		result.setSuccess(true);
	}
}else{
	result.setSuccess(false);
	result.setMessage("用户名或密码错误");
}

 

 

 

  • No labels