Commit c7a478aa authored by 刘弈臻's avatar 刘弈臻
parents 6d1e0788 bbaf2162
package com.govmade.common.utils;
import org.apache.commons.lang.StringUtils;
import com.govmade.common.exception.RRException;
/**
* 数据校验
*
*/
public abstract class Assert {
public static void isBlank(String str, String message) {
if (StringUtils.isBlank(str)) {
throw new RRException(message);
}
}
public static void isNull(Object object, String message) {
if (object == null) {
throw new RRException(message);
}
}
}
package com.govmade.common.utils;
import org.apache.shiro.SecurityUtils;
import org.apache.shiro.session.Session;
import org.apache.shiro.subject.Subject;
import com.govmade.common.exception.RRException;
import com.govmade.modules.system.entity.UserEntity;
/**
* Shiro工具类
*
*/
public class ShiroUtils {
public static Session getSession() {
return SecurityUtils.getSubject().getSession();
}
public static Subject getSubject() {
return SecurityUtils.getSubject();
}
public static UserEntity getUserEntity() {
return (UserEntity) SecurityUtils.getSubject().getPrincipal();
}
public static Long getUserId() {
return getUserEntity().getId();
}
public static void setSessionAttribute(Object key, Object value) {
getSession().setAttribute(key, value);
}
public static Object getSessionAttribute(Object key) {
return getSession().getAttribute(key);
}
public static boolean isLogin() {
return SecurityUtils.getSubject().getPrincipal() != null;
}
public static void logout() {
SecurityUtils.getSubject().logout();
}
public static String getKaptcha(String key) {
Object kaptcha = getSessionAttribute(key);
if (kaptcha == null) {
throw new RRException("验证码已失效");
}
getSession().removeAttribute(key);
return kaptcha.toString();
}
}
...@@ -3,23 +3,28 @@ package com.govmade.modules.system.controller; ...@@ -3,23 +3,28 @@ package com.govmade.modules.system.controller;
import java.util.Map; import java.util.Map;
import java.util.Set; import java.util.Set;
import org.apache.shiro.crypto.hash.Sha256Hash;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.DeleteMapping; import org.springframework.web.bind.annotation.DeleteMapping;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.PutMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.govmade.common.utils.Assert;
import com.govmade.common.utils.Constant; import com.govmade.common.utils.Constant;
import com.govmade.common.utils.PageUtils; import com.govmade.common.utils.PageUtils;
import com.govmade.common.utils.R; import com.govmade.common.utils.R;
import com.govmade.common.utils.ShiroUtils;
import com.govmade.modules.basic.controller.AbstractController; import com.govmade.modules.basic.controller.AbstractController;
import com.govmade.modules.system.entity.UserEntity; import com.govmade.modules.system.entity.UserEntity;
import com.govmade.modules.system.service.UserService; import com.govmade.modules.system.service.UserService;
import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.SecureUtil;
import io.swagger.annotations.ApiOperation;
/** /**
* 系统管理 - 用户设置 * 系统管理 - 用户设置
...@@ -100,7 +105,7 @@ public class UserController extends AbstractController { ...@@ -100,7 +105,7 @@ public class UserController extends AbstractController {
* @param id * @param id
* @return * @return
*/ */
@DeleteMapping("reset") @PostMapping("/reset")
public R reset(UserEntity ue) { public R reset(UserEntity ue) {
if (null != ue.getId()) { if (null != ue.getId()) {
...@@ -112,4 +117,24 @@ public class UserController extends AbstractController { ...@@ -112,4 +117,24 @@ public class UserController extends AbstractController {
return R.ok(); return R.ok();
} }
/**
* 修改登录用户密码
*/
@PutMapping("updatePassword")
public R password(String password, String newPassword) {
Assert.isBlank(newPassword, "新密码不为能空");
password = new Sha256Hash(password).toHex();
newPassword = new Sha256Hash(newPassword).toHex();
//int count = userService.updatePassword(ShiroUtils.getUserId(), password, newPassword);
// if (count == 0) {
// return R.error("原密码不正确");
// }
ShiroUtils.logout();
return R.ok();
}
} }
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