gongbin
2 years ago
1 changed files with 129 additions and 0 deletions
@ -0,0 +1,129 @@ |
|||||||
|
package com.fr.plugin.reset_user_passwd.Controllers; |
||||||
|
|
||||||
|
|
||||||
|
import com.fr.decision.authority.base.constant.type.operation.ManualOperationType; |
||||||
|
import com.fr.decision.authority.base.constant.type.operation.OperationType; |
||||||
|
import com.fr.decision.authority.data.User; |
||||||
|
import com.fr.decision.authorize.impl.AbstractPassport; |
||||||
|
import com.fr.decision.authorize.impl.DefaultPassport; |
||||||
|
import com.fr.decision.config.FSConfig; |
||||||
|
import com.fr.decision.webservice.Response; |
||||||
|
import com.fr.decision.webservice.annotation.LoginStatusChecker; |
||||||
|
import com.fr.decision.webservice.bean.user.UserAdditionBean; |
||||||
|
import com.fr.decision.webservice.bean.user.UserAvailableFilter; |
||||||
|
import com.fr.decision.webservice.bean.user.UserBean; |
||||||
|
import com.fr.decision.webservice.v10.user.UserService; |
||||||
|
import com.fr.log.FineLoggerFactory; |
||||||
|
import com.fr.security.encryption.transmission.impl.AESTransmissionEncryption; |
||||||
|
import com.fr.stable.StringUtils; |
||||||
|
import com.fr.third.springframework.stereotype.Controller; |
||||||
|
import com.fr.third.springframework.web.bind.annotation.RequestMapping; |
||||||
|
import com.fr.third.springframework.web.bind.annotation.RequestMethod; |
||||||
|
import com.fr.third.springframework.web.bind.annotation.ResponseBody; |
||||||
|
import com.fr.web.utils.WebUtils; |
||||||
|
import com.fr.decision.webservice.utils.WebServiceUtils; |
||||||
|
import javax.servlet.http.HttpServletRequest; |
||||||
|
import javax.servlet.http.HttpServletResponse; |
||||||
|
import java.io.PrintWriter; |
||||||
|
import java.util.ArrayList; |
||||||
|
import java.util.HashMap; |
||||||
|
import java.util.List; |
||||||
|
import java.util.Map; |
||||||
|
|
||||||
|
@Controller |
||||||
|
@LoginStatusChecker( |
||||||
|
required = false //不需要验证是否登录
|
||||||
|
) |
||||||
|
public class UserController { |
||||||
|
|
||||||
|
//http://localhost:8075/webroot/decision/user/getAllUsers
|
||||||
|
@RequestMapping( |
||||||
|
value = {"/user/getAllUsers"}, |
||||||
|
method = {RequestMethod.GET} |
||||||
|
) |
||||||
|
@ResponseBody |
||||||
|
public void getAllUsers(HttpServletRequest req, HttpServletResponse res) throws Exception { |
||||||
|
List<String> allUsers = this.getAllUserNames(); |
||||||
|
PrintWriter printWriter = null; |
||||||
|
printWriter = WebUtils.createPrintWriter(res); |
||||||
|
Map<String, Object> map = new HashMap<>(); |
||||||
|
map.put("allUser", allUsers.toString()); |
||||||
|
String page = WebServiceUtils.parseWebPageResourceSafe("com/fr/plugin/reset_user_passwd/allUser.html", map); |
||||||
|
printWriter.write(page); |
||||||
|
printWriter.flush(); |
||||||
|
printWriter.close(); |
||||||
|
|
||||||
|
//return Response.ok(allUsers);
|
||||||
|
} |
||||||
|
|
||||||
|
//http://localhost:8075/webroot/decision/user/resetallpasswd?passwd=123456
|
||||||
|
@RequestMapping( |
||||||
|
value = {"/user/resetallpasswd"}, |
||||||
|
method = {RequestMethod.GET} |
||||||
|
) |
||||||
|
@ResponseBody |
||||||
|
public Response resetAllUserPasswd(HttpServletRequest req, HttpServletResponse res) throws Exception { |
||||||
|
List<String> allUsers = this.getAllUserNames(); |
||||||
|
Map<OperationType, AbstractPassport> passportMap = FSConfig.getInstance().getPassports(); |
||||||
|
AbstractPassport passport = passportMap.get(ManualOperationType.KEY); |
||||||
|
if(passport == null){ |
||||||
|
FSConfig.getInstance().setPassports(passportMap); |
||||||
|
} |
||||||
|
String newPasswd = WebUtils.getHTTPRequestParameter(req,"passwd"); |
||||||
|
if(StringUtils.isNotEmpty(newPasswd)){ |
||||||
|
for(String userName : allUsers){ |
||||||
|
this.resetUserPasswd(userName,newPasswd); |
||||||
|
} |
||||||
|
return Response.ok("修改成功!"); |
||||||
|
} |
||||||
|
else{ |
||||||
|
return Response.ok("passwd我为空了."); |
||||||
|
} |
||||||
|
} |
||||||
|
|
||||||
|
//http://localhost:8075/webroot/decision/user/resetpasswd?name=admin&passwd=admin
|
||||||
|
@RequestMapping( |
||||||
|
value = {"/user/resetpasswd"}, |
||||||
|
method = {RequestMethod.GET} |
||||||
|
) |
||||||
|
@ResponseBody |
||||||
|
public Response resetUserPasswd(HttpServletRequest req, HttpServletResponse res) throws Exception { |
||||||
|
String userName = WebUtils.getHTTPRequestParameter(req,"name"); |
||||||
|
String newPasswd = WebUtils.getHTTPRequestParameter(req,"passwd"); |
||||||
|
if(StringUtils.isNotEmpty(userName) && StringUtils.isNotEmpty(newPasswd)){ |
||||||
|
String result = this.resetUserPasswd(userName,newPasswd); |
||||||
|
return Response.ok(result); |
||||||
|
} |
||||||
|
else{ |
||||||
|
return Response.ok("name或者passwd为空了."); |
||||||
|
} |
||||||
|
|
||||||
|
} |
||||||
|
|
||||||
|
private String resetUserPasswd(String userName,String newPasswd) throws Exception{ |
||||||
|
User user = UserService.getInstance().getUserByUserName(userName); |
||||||
|
if(user == null){ |
||||||
|
return "用户:"+userName+"不存在"; |
||||||
|
} |
||||||
|
UserBean userBean = new UserBean(user.getId(),user.getRealName(),user.getUserName(),user.isEnable()); |
||||||
|
userBean.setCreationType(user.getCreationType().toInteger()); |
||||||
|
userBean.setPassword(AESTransmissionEncryption.getInstance().encrypt(newPasswd)); |
||||||
|
UserService.getInstance().resetPassword(userBean); |
||||||
|
return "修改成功"; |
||||||
|
} |
||||||
|
|
||||||
|
private List<String> getAllUserNames() throws Exception{ |
||||||
|
List<String> allUsers = new ArrayList<>(); |
||||||
|
List<String> adminUsers = UserService.getInstance().getAdminUserNameList(); |
||||||
|
if(adminUsers.size() > 0){ |
||||||
|
allUsers.add(adminUsers.get(0)); |
||||||
|
FineLoggerFactory.getLogger().info("admin user:"+adminUsers); |
||||||
|
List<UserAdditionBean> users = (List<UserAdditionBean>)UserService.getInstance().getAllUsers(adminUsers.get(0),1,100,"","userAlias",true,"", UserAvailableFilter.ALL, null).get("items"); |
||||||
|
for ( UserAdditionBean userBean : users){ |
||||||
|
allUsers.add(userBean.getUsername()); |
||||||
|
} |
||||||
|
} |
||||||
|
return allUsers; |
||||||
|
} |
||||||
|
|
||||||
|
} |
Loading…
Reference in new issue