Commit 849b549a by wqc

修改密码接口

parent a332715b
......@@ -246,7 +246,14 @@ public class HttpRequestUtils {
*/
public static String getHttpCityInfo(String ip) {
String api = String.format(CivilConstant.Url.IP_URL, ip);
cn.hutool.json.JSONObject object = JSONUtil.parseObj(HttpUtil.get(api));
String body = HttpUtil.get(api);
cn.hutool.json.JSONObject object;
try {
object = JSONUtil.parseObj(body);
} catch (Exception e) {
log.error("获取详细地址失败:{}", e.getMessage());
return "";
}
return object.get("addr", String.class);
}
......
......@@ -76,8 +76,7 @@ public class SsoController {
@AnonymousPostMapping(value = "/register")
public ResultVo register( @RequestBody SsoRegisterVo resources) {
AssertUtils.hasText(resources.getPhoneVerificationCode(),"手机验证码未填写");
ssoService.register(resources);
return ResultVo.success("注册成功");
return ResultVo.success(ssoService.register(resources));
}
@ApiOperation("获取手机验证码")
......
......@@ -76,7 +76,7 @@ public class SsoService {
private final TokenProvider tokenProvider;
private final AreaCodeDao areaCodeDao;
public void register(SsoRegisterVo vo) {
public ResultVo register(SsoRegisterVo vo) {
String passwd = null;
try {
passwd = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, vo.getPassword());
......@@ -96,6 +96,7 @@ public class SsoService {
resources.setPhone(vo.getPhone());
resources.setUsername(vo.getUsername());
resources.setUserArea(vo.getUserArea());
resources.setSsoType(1);
List<Role> roleList = roleRepository.findAllById(Collections.singletonList(8L));
resources.setRoles(new HashSet<>(roleList));
......@@ -106,7 +107,7 @@ public class SsoService {
deptRepository.findById(8L).ifPresent(resources::setDept);
userService.create(resources);
return ResultVo.success("注册成功");
}
public List<BindUserInfo> getBindSysList() {
......@@ -166,59 +167,41 @@ public class SsoService {
}
public Object login(SsoLoginVo vo, HttpServletRequest request, HttpServletResponse response) {
String toUrl = request.getParameter("service");
AssertUtils.hasText(toUrl, "跳转地址为空");
String passwd;
try {
String toUrl = request.getParameter("service");
AssertUtils.hasText(toUrl, "跳转地址为空");
String passwd = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, vo.getPasswd());
UsernamePasswordAuthenticationToken authenticationToken =
new UsernamePasswordAuthenticationToken(vo.getUsername(), passwd);
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
SecurityContextHolder.getContext().setAuthentication(authentication);
// 生成令牌
String token = TokenProvider.createToken(authentication);
final JwtUserDto jwtUserDto = (JwtUserDto) authentication.getPrincipal();
// 保存在线信息
onlineUserService.save(jwtUserDto, token, request);
String key = IdUtil.simpleUUID();
redisUtils.setStr(CacheKeys.apiKey(token), key, properties.getTokenValidityInSeconds() / 1000, TimeUnit.SECONDS);
Map<String, Object> data = new HashMap<>();
data.put("toUrl", toUrl + "?" + properties.getHeader() + "=" + token + "&key=" + key);
data.put(properties.getHeader(), properties.getTokenStartWith() + token);
//
// SysInfo sysInfo = sysInfoDao.selectOne(Wrappers.lambdaQuery(SysInfo.builder().appId(vo.getAppId()).build()));
// AssertUtils.hasText(sysInfo.getAppId(), "APPID不存在");
// AssertUtils.hasText(sysInfo.getHomeUrl(), "业务系统主页地址未配置");
// SysInfo build =SysInfo.builder()
// .appId(sysInfo.getAppId())
// .loginKey(key)
// .loginToken(token)
// .systemName(vo.getSystemName())
// .systemTag(vo.getSystemTag())
// .state(1)
// .createTime(DateUtil.date())
// .build();
// sysInfoDao.update(build,Wrappers.lambdaQuery(SysInfo.class));
return data;
// response.sendRedirect(sysInfo.getHomeUrl() + "?" + properties.getHeader() + "=" + token + "&key=" + key);
passwd = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, vo.getPasswd());
} catch (Exception e) {
log.error("【{}】单点登录错误 => {}", vo.getUsername(), e.getMessage());
throw new BusinessException(e.getMessage());
log.error("解密失败:{}", e.getMessage());
throw new BusinessException("解密失败:" + e.getMessage());
}
UsernamePasswordAuthenticationToken authenticationToken =
new UsernamePasswordAuthenticationToken(vo.getUsername(), passwd);
Authentication authentication = authenticationManagerBuilder.getObject().authenticate(authenticationToken);
SecurityContextHolder.getContext().setAuthentication(authentication);
// 生成令牌
String token = TokenProvider.createToken(authentication);
final JwtUserDto jwtUserDto = (JwtUserDto) authentication.getPrincipal();
// 保存在线信息
onlineUserService.save(jwtUserDto, token, request);
String key = IdUtil.simpleUUID();
redisUtils.setStr(CacheKeys.apiKey(token), key, properties.getTokenValidityInSeconds() / 1000, TimeUnit.SECONDS);
Map<String, Object> data = new HashMap<>();
data.put("toUrl", toUrl + "?" + properties.getHeader() + "=" + token + "&key=" + key);
data.put(properties.getHeader(), properties.getTokenStartWith() + token);
return data;
// response.sendRedirect(sysInfo.getHomeUrl() + "?" + properties.getHeader() + "=" + token + "&key=" + key);
}
public Object tokenLogin(SsoLoginVo vo, HttpServletRequest request, HttpServletResponse response) {
String toUrl = request.getParameter("service");
AssertUtils.hasText(toUrl, "跳转地址为空");
/*SysInfo sysInfo = sysInfoDao.selectOne(Wrappers.lambdaQuery(SysInfo.builder().appId(appId).build()));
AssertUtils.notNull(sysInfo, "APPID不存在");
AssertUtils.hasText(sysInfo.getHomeUrl(), "业务系统主页地址未配置");*/
String token = tokenProvider.getToken(request);
String key = redisUtils.getStr(CacheKeys.apiKey(token));
......@@ -249,11 +232,11 @@ public class SsoService {
Map<String, Object> data = new HashMap<>();
List<BindUserInfo> bindUserInfos = blindUserInfoDao.selectList(Wrappers.lambdaQuery(BindUserInfo.builder().sysId(sysInfo.getId()).userId(adminContext.getUserId()).build()));
AssertUtils.notNull(bindUserInfos.size()==0, 501, "用户未绑定该系统");
AssertUtils.notNull(bindUserInfos.size() == 0, 501, "用户未绑定该系统");
for (BindUserInfo bindUserInfo:bindUserInfos) {
data.put("userId", bindUserInfo.getSystemUserId());
data.put("username", bindUserInfo.getSystemUserName());
for (BindUserInfo bindUserInfo : bindUserInfos) {
data.put("userId", bindUserInfo.getSystemUserId());
data.put("username", bindUserInfo.getSystemUserName());
}
return data;
}
......
......@@ -303,6 +303,8 @@ public class UserServiceImpl implements UserService {
AssertUtils.notNull(user, "手机号不存在");
updatePass(user.getUsername(), passwordEncoder.encode(vo.getPasswd()));
flushCache(user.getUsername());
}
/**
......@@ -431,10 +433,13 @@ public class UserServiceImpl implements UserService {
@Override
public void resetPassword2(LoginVo vo) {
String data="BBmzb450324!";
System.out.println("------------------------------------- "+passwordEncoder.encode(data));
verificationCode(vo.getPhone(), vo.getVerifyCode());
User user =userRepository.findBySysname(vo.getPhone());
AssertUtils.notNull(user, "手机号不存在");
updatePass(user.getUsername(), passwordEncoder.encode(vo.getPasswd()));
flushCache(user.getUsername());
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment