Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  1. 平台管理-》系统设置-》用户登录脚本-》开启
  2. 设置用户登录脚本 (页面底部有脚本示例)

    脚本中支持的内置参数:

    参数名描述
    result返回值对象
    databaseService数据库操作对象
    webServiceHTTP请求操作对象
    ldapServiceLDAP操作对象
    request用户的请求
    outSystem.out


    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)

    请求指定的url,并获得返回值


    ldapService对象方法

    方法原型描述

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

    LDAP认证


    脚本示例:

    Code Block
    languagejs
    title数据库验证用户名密码
    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); 
    }
    Code Block
    languagejs
    titleLDAP用户认证
    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); 
    //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("用户名或密码错误"); 
    }