参数名 | 描述 |
---|---|
databaseService | 数据库操作对象 |
webService | HTTP请求操作对象 |
ldapService | LDAP操作对象 |
userService | 用户操作对象 |
redisService | Redis操作对象 |
reportService | 报表操作对象 |
wxcpService | 微信企业号操作对象 |
sessionService | Session操作对象 |
request | 用户的请求 |
out | System.out |
logger | Logger操作对象 |
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("用户名或密码错误"); }