123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package com.fdkankan.web.user;
- import com.fdkankan.common.constant.LoginType;
- import com.fdkankan.common.util.JwtUtil;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Component;
- @Component
- public class SSOLoginHelper {
- @Autowired
- private SSOLoginStore ssoLoginStore;
- public SSOUser loginCheck(String token) {
- if (token != null && token.trim().length() > 0) {
- SSOUser ssoUser = ssoLoginStore.get(token);
- if (ssoUser != null) {
- return ssoUser;
- }
- }
- return null;
- }
- public SSOUser getSsoUser(String token) {
- if (token != null && token.trim().length() > 0) {
- SSOUser ssoUser = ssoLoginStore.getSsoUser(token);
- if (ssoUser != null) {
- return ssoUser;
- }
- }
- return null;
- }
- public com.fdkankan.web.model.SSOUser loginCheckV3(String token) {
- if (token != null && token.trim().length() > 0) {
- com.fdkankan.web.model.SSOUser ssoUser = ssoLoginStore.getV3(token);
- if (ssoUser != null) {
- return ssoUser;
- }
- }
- return null;
- }
- public String login(String loginType,String userName) {
- return this.login(loginType,userName,null, null);
- }
- public String login(String loginType,String userName,Integer time) {
- return this.login(loginType,userName,time, null);
- }
- public String login(SSOUser ssoUser) {
- String loginType = LoginType.USER.code();
- String userName = ssoUser.getUserName();
- return this.login(loginType,userName,null, ssoUser);
- }
- public String login(SSOUser ssoUser,Integer time) {
- String loginType = LoginType.USER.code();
- String userName = ssoUser.getUserName();
- return this.login(loginType,userName,time, ssoUser);
- }
- /**
- * @param loginType 登录类型
- * @param userName 登录用户名
- * @param time 过期时间,时间单位为秒,默认为 6小时 21600
- * @param ssoUser sooUser
- */
- public String login(String loginType,String userName,Integer time,
- SSOUser ssoUser) {
- String token = JwtUtil.createJWT(-1, userName,loginType);
- ssoLoginStore.put(loginType,userName,token,time, ssoUser);
- return token;
- }
- public void logout(String token) {
- String username = JwtUtil.getUsername(token);
- String loginType = JwtUtil.getLoginType(token);
- this.logout(loginType,username);
- }
- public void logout(String loginType,String userName) {
- ssoLoginStore.remove(loginType,userName);
- }
- public void loginV3(String token, com.fdkankan.web.model.SSOUser ssoUser) {
- ssoLoginStore.putV3(token, ssoUser);
- }
- }
|