Commit 849b549a by wqc

修改密码接口

parent a332715b
...@@ -246,7 +246,14 @@ public class HttpRequestUtils { ...@@ -246,7 +246,14 @@ public class HttpRequestUtils {
*/ */
public static String getHttpCityInfo(String ip) { public static String getHttpCityInfo(String ip) {
String api = String.format(CivilConstant.Url.IP_URL, 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); return object.get("addr", String.class);
} }
......
...@@ -76,8 +76,7 @@ public class SsoController { ...@@ -76,8 +76,7 @@ public class SsoController {
@AnonymousPostMapping(value = "/register") @AnonymousPostMapping(value = "/register")
public ResultVo register( @RequestBody SsoRegisterVo resources) { public ResultVo register( @RequestBody SsoRegisterVo resources) {
AssertUtils.hasText(resources.getPhoneVerificationCode(),"手机验证码未填写"); AssertUtils.hasText(resources.getPhoneVerificationCode(),"手机验证码未填写");
ssoService.register(resources); return ResultVo.success(ssoService.register(resources));
return ResultVo.success("注册成功");
} }
@ApiOperation("获取手机验证码") @ApiOperation("获取手机验证码")
......
...@@ -76,7 +76,7 @@ public class SsoService { ...@@ -76,7 +76,7 @@ public class SsoService {
private final TokenProvider tokenProvider; private final TokenProvider tokenProvider;
private final AreaCodeDao areaCodeDao; private final AreaCodeDao areaCodeDao;
public void register(SsoRegisterVo vo) { public ResultVo register(SsoRegisterVo vo) {
String passwd = null; String passwd = null;
try { try {
passwd = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, vo.getPassword()); passwd = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, vo.getPassword());
...@@ -96,6 +96,7 @@ public class SsoService { ...@@ -96,6 +96,7 @@ public class SsoService {
resources.setPhone(vo.getPhone()); resources.setPhone(vo.getPhone());
resources.setUsername(vo.getUsername()); resources.setUsername(vo.getUsername());
resources.setUserArea(vo.getUserArea()); resources.setUserArea(vo.getUserArea());
resources.setSsoType(1);
List<Role> roleList = roleRepository.findAllById(Collections.singletonList(8L)); List<Role> roleList = roleRepository.findAllById(Collections.singletonList(8L));
resources.setRoles(new HashSet<>(roleList)); resources.setRoles(new HashSet<>(roleList));
...@@ -106,7 +107,7 @@ public class SsoService { ...@@ -106,7 +107,7 @@ public class SsoService {
deptRepository.findById(8L).ifPresent(resources::setDept); deptRepository.findById(8L).ifPresent(resources::setDept);
userService.create(resources); userService.create(resources);
return ResultVo.success("注册成功");
} }
public List<BindUserInfo> getBindSysList() { public List<BindUserInfo> getBindSysList() {
...@@ -166,59 +167,41 @@ public class SsoService { ...@@ -166,59 +167,41 @@ public class SsoService {
} }
public Object login(SsoLoginVo vo, HttpServletRequest request, HttpServletResponse response) { public Object login(SsoLoginVo vo, HttpServletRequest request, HttpServletResponse response) {
String toUrl = request.getParameter("service");
AssertUtils.hasText(toUrl, "跳转地址为空");
String passwd;
try { try {
String toUrl = request.getParameter("service"); passwd = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey, vo.getPasswd());
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);
} catch (Exception e) { } catch (Exception e) {
log.error("【{}】单点登录错误 => {}", vo.getUsername(), e.getMessage()); log.error("解密失败:{}", e.getMessage());
throw new BusinessException(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) { public Object tokenLogin(SsoLoginVo vo, HttpServletRequest request, HttpServletResponse response) {
String toUrl = request.getParameter("service"); String toUrl = request.getParameter("service");
AssertUtils.hasText(toUrl, "跳转地址为空"); 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 token = tokenProvider.getToken(request);
String key = redisUtils.getStr(CacheKeys.apiKey(token)); String key = redisUtils.getStr(CacheKeys.apiKey(token));
...@@ -249,11 +232,11 @@ public class SsoService { ...@@ -249,11 +232,11 @@ public class SsoService {
Map<String, Object> data = new HashMap<>(); Map<String, Object> data = new HashMap<>();
List<BindUserInfo> bindUserInfos = blindUserInfoDao.selectList(Wrappers.lambdaQuery(BindUserInfo.builder().sysId(sysInfo.getId()).userId(adminContext.getUserId()).build())); 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) { for (BindUserInfo bindUserInfo : bindUserInfos) {
data.put("userId", bindUserInfo.getSystemUserId()); data.put("userId", bindUserInfo.getSystemUserId());
data.put("username", bindUserInfo.getSystemUserName()); data.put("username", bindUserInfo.getSystemUserName());
} }
return data; return data;
} }
......
...@@ -303,6 +303,8 @@ public class UserServiceImpl implements UserService { ...@@ -303,6 +303,8 @@ public class UserServiceImpl implements UserService {
AssertUtils.notNull(user, "手机号不存在"); AssertUtils.notNull(user, "手机号不存在");
updatePass(user.getUsername(), passwordEncoder.encode(vo.getPasswd())); updatePass(user.getUsername(), passwordEncoder.encode(vo.getPasswd()));
flushCache(user.getUsername());
} }
/** /**
...@@ -431,10 +433,13 @@ public class UserServiceImpl implements UserService { ...@@ -431,10 +433,13 @@ public class UserServiceImpl implements UserService {
@Override @Override
public void resetPassword2(LoginVo vo) { public void resetPassword2(LoginVo vo) {
String data="BBmzb450324!";
System.out.println("------------------------------------- "+passwordEncoder.encode(data));
verificationCode(vo.getPhone(), vo.getVerifyCode()); verificationCode(vo.getPhone(), vo.getVerifyCode());
User user =userRepository.findBySysname(vo.getPhone()); User user =userRepository.findBySysname(vo.getPhone());
AssertUtils.notNull(user, "手机号不存在"); AssertUtils.notNull(user, "手机号不存在");
updatePass(user.getUsername(), passwordEncoder.encode(vo.getPasswd())); 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