分享一个批量重置全员密码的工作流脚本
背景
因系统和公司门户做了单点登陆集成,为了方便排查用户使用问题,需要将所有人员的密码重置为统一的密码。于是想到了通过流程触发密码重置脚本的办法。
这些脚本都是项目上遇到具体问题时编写的,有空就分享一个,仅供参考。
脚本如下:
//批量重置密码 //创建用户对象 com.kingdee.eas.base.permission.IUser iUser = com.kingdee.eas.base.permission.UserFactory .getLocalInstance(__bosContext); //获取用户集合 com.kingdee.eas.base.permission.UserCollection userColl = iUser.getUserCollection( "where person.number not in ('administrator','user') and isDelete=0 and changedPW=0 " ) ; //定义数据库连接对象 java.sql.Connection con = com.kingdee.bos.framework.ejb.EJBFactory.getConnection(__bosContext); java.sql.Statement statement = con.createStatement(); //输出系统日志开始 System.out.print("wftest"); if ( userColl != null && userColl . size ( ) > 0 ){ //判读系统是否执行该语句 System.out.print("1"); for ( int i = 0 ; i < userColl.size( ) ; i ++ ) { //获取用户对象 com.kingdee.eas.base.permission.UserInfo userInfo = userColl.get (i); //获取用户id String userid = userColl.get( i ) .getId ( ).toString ( ); //使用userid和密码生成密码的加密字符串 String newpwd = com.kingdee.eas.base.permission.app.util.PermissionUtil.encrypt(userid ,"1234567"); //这句好像没用,没找到具体原因 userInfo.setPassword(newpwd); //改用sql更新数据库 String sql = "update t_pm_user set fpassword ='" + newpwd + "' where fid ='" + userid +"' "; System.out.print(newpwd+sql); statement.execute(sql); System.out.print(newpwd); } } //清理数据库连接 com.kingdee.util.db.SQLUtils.cleanup(statement, con);
分享一个批量重置全员密码的工作流脚本
背景因系统和公司门户做了单点登陆集成,为了方便排查用户使用问题,需要将所有人员的密码重置为统一的密码。于是想到了通过流程触发密码重...
点击下载文档
本文2024-09-16 22:09:35发表“eas cloud知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-eas-46298.html
您需要登录后才可以发表评论, 登录登录 或者 注册
最新文档
热门文章