分享一个批量重置全员密码的工作流脚本

栏目:eas cloud知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

分享一个批量重置全员密码的工作流脚本

背景

因系统和公司门户做了单点登陆集成,为了方便排查用户使用问题,需要将所有人员的密码重置为统一的密码。于是想到了通过流程触发密码重置脚本的办法。

这些脚本都是项目上遇到具体问题时编写的,有空就分享一个,仅供参考。

脚本如下:

//批量重置密码
//创建用户对象
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);


分享一个批量重置全员密码的工作流脚本

背景因系统和公司门户做了单点登陆集成,为了方便排查用户使用问题,需要将所有人员的密码重置为统一的密码。于是想到了通过流程触发密码重...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息