在Springboot使用Redis缓存基础上编写
User类
import java.io.Serializable; import javax.persistence.CascadeType; import com.fasterxml.jackson.annotation.JsonIgnore; @Entity private static final long serialVersionUID = 1499996380665206081L; // 用户名 // 手机号 // 随机字符串,加强密码用 // 姓名 // 性别 // 部门 // 卡面号 // 卡物理号 // 是否超级用户 // 是否授权 // 卡有效期 // 属性集 // 备注 // 类别 0代表员工 1代表外协 // 车站Id @JsonView({ UserDetailView.class, UserListView.class }) public User() { public String getUserName() { public void setUserName(String userName) { public String getPassword() { public void setPassword(String password) { public String getSalt() { public void setSalt(String salt) { public String getName() { public void setName(String name) { public Department getDepartment() { public void setDepartment(Department department) { public String getCardnumber() { public String getNum() { public void setNum(String num) { public void setCardnumber(String cardnumber) { public String getCardnumberwl() { public void setCardnumberwl(String cardnumberwl) { public Boolean getSex() { public void setSex(Boolean sex) { public Boolean getSuperuser() { public void setSuperuser(Boolean superuser) { public Boolean getAccredit() { public void setAccredit(Boolean accredit) { public String getValid() { public void setValid(String valid) { public String getProperty() { public void setProperty(String property) { public String getRemark() { public void setRemark(String remark) { public List<Role> getRoles() { public void setRoles(List<Role> roles) { public String getType() { public void setType(String type) { public List<UserStation> getStationId() { public void setStationId(List<UserStation> stationId) { public String getPhone() { public void setPhone(String phone) { } |
Session类
import java.util.UUID; import com.fasterxml.jackson.annotation.JsonIgnore; public class Session { @JsonView(ListView.class) public Session(User user) { public String getToken() { public void setToken(String token) { public long getLastModifiedTime() { public void setLastModifiedTime(long lastModifiedTime) { public User getUser() { public void setUser(User user) { |
SessionService类
import javax.servlet.http.Cookie; import org.slf4j.Logger; @Component public static final String EFFECTIVE_TIME = "com.gzydt.passport.exports.effectiveTime"; private static final Logger log = LoggerFactory.getLogger(SessionService.class); @Autowired @Autowired private long effectiveTime = 1800000; private boolean inited = false; private void init() { private void dealConfig() { private void dealTime(Environment env) { private void dealEffectiveTime(Environment env) { private void dealRefreshedTime(Environment env) { public long getEffectiveTime() { public long getRefreshedTime() { public Session getSession(String key) { public boolean deleteSession(String key) { public void addSession(Session session) { private boolean need2Refresh(Session session) { private String dealSessionKey(String key) { public static String getTokenFromRequest(HttpServletRequest request) { private static String getTokenFromCookie(HttpServletRequest request) { private static String getTokenFromQueryParam(HttpServletRequest request) { public Session getSession(HttpServletRequest request) { public User getLoginUser(HttpServletRequest request) { |
登录类
private JsonResponse<?> _login(LoginForm form, HttpServletResponse response, HttpServletRequest request) { try { String checkCode = verificationCodeService.get(request); if (!CommonUtil.isEmtpy(checkCode) && checkCode.equalsIgnoreCase(form.getCheckCode())) { String key = userService.login(form.getAccount(), form.getPassword()); this.setCookie(key, response); if (null == key) { log.info("【" + form.getAccount() + "】登录失败!"); return new JsonResponse<>(400, "登录失败!"); } else { log.info("【" + form.getAccount() + "】登录成功!"); verificationCodeService.delete(request);// 删除验证码 LoginVo loginVo = new LoginVo(sessionService.getLoginUser(key), key); dealLoginVo(loginVo); return new JsonResponse<>(loginVo); } } else { log.info("【" + form.getCheckCode() + "】验证码错误!"); return new JsonResponse<>(400, "验证码错误"); } } catch (IllegalArgumentException | SessionNotFoundException e) { return new JsonResponse<>(400, e.getMessage()); } catch (Exception e) { e.printStackTrace(); return new JsonResponse<>(500, e.getMessage()); } } |
获取当前登录用户
public JsonResponse<Role> add(HttpServletRequest request) { |