StpUserUtil.java 8.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333
  1. package com.cyksj.web.util;
  2. import cn.dev33.satoken.fun.SaFunction;
  3. import cn.dev33.satoken.session.SaSession;
  4. import cn.dev33.satoken.stp.SaLoginModel;
  5. import cn.dev33.satoken.stp.SaTokenInfo;
  6. import cn.dev33.satoken.stp.StpLogic;
  7. import org.springframework.stereotype.Component;
  8. import java.util.List;
  9. /**
  10. * @author chan
  11. * @date 2021/10/12 下午5:59
  12. */
  13. @Component
  14. public class StpUserUtil {
  15. public static final String TYPE = "user";
  16. // 使用匿名子类 重写`stpLogic对象`的一些方法
  17. public static StpLogic stpLogic = new StpLogic("user") {
  18. // 重写 StpLogic 类下的 `splicingKeyTokenName` 函数,返回一个与 `StpUtil` 不同的token名称, 防止冲突
  19. @Override
  20. public String splicingKeyTokenName() {
  21. return super.splicingKeyTokenName() + "-user";
  22. }
  23. // 同理你可以按需重写一些其它方法 ...
  24. };
  25. public StpUserUtil() {
  26. }
  27. public static String getLoginType() {
  28. return stpLogic.getLoginType();
  29. }
  30. public static String getTokenName() {
  31. return stpLogic.getTokenName();
  32. }
  33. public static void setTokenValue(String tokenValue, int cookieTimeout) {
  34. stpLogic.setTokenValue(tokenValue, cookieTimeout);
  35. }
  36. public static String getTokenValue() {
  37. return stpLogic.getTokenValue();
  38. }
  39. public static SaTokenInfo getTokenInfo() {
  40. return stpLogic.getTokenInfo();
  41. }
  42. public static void login(Object id) {
  43. stpLogic.login(id);
  44. }
  45. public static void login(Object id, String device) {
  46. stpLogic.login(id, device);
  47. }
  48. public static void login(Object id, boolean isLastingCookie) {
  49. stpLogic.login(id, isLastingCookie);
  50. }
  51. public static void login(Object id, SaLoginModel loginModel) {
  52. stpLogic.login(id, loginModel);
  53. }
  54. public static void logout() {
  55. stpLogic.logout();
  56. }
  57. public static void logoutByTokenValue(String tokenValue) {
  58. stpLogic.logoutByTokenValue(tokenValue);
  59. }
  60. public static void logoutByLoginId(Object loginId) {
  61. stpLogic.logoutByLoginId(loginId);
  62. }
  63. public static void logoutByLoginId(Object loginId, String device) {
  64. stpLogic.logoutByLoginId(loginId, device);
  65. }
  66. public static boolean isLogin() {
  67. return stpLogic.isLogin();
  68. }
  69. public static void checkLogin() {
  70. stpLogic.checkLogin();
  71. }
  72. public static Object getLoginId() {
  73. return stpLogic.getLoginId();
  74. }
  75. public static <T> T getLoginId(T defaultValue) {
  76. return stpLogic.getLoginId(defaultValue);
  77. }
  78. public static Object getLoginIdDefaultNull() {
  79. return stpLogic.getLoginIdDefaultNull();
  80. }
  81. public static String getLoginIdAsString() {
  82. return stpLogic.getLoginIdAsString();
  83. }
  84. public static int getLoginIdAsInt() {
  85. return stpLogic.getLoginIdAsInt();
  86. }
  87. public static long getLoginIdAsLong() {
  88. return stpLogic.getLoginIdAsLong();
  89. }
  90. public static Object getLoginIdByToken(String tokenValue) {
  91. return stpLogic.getLoginIdByToken(tokenValue);
  92. }
  93. public static SaSession getSessionByLoginId(Object loginId, boolean isCreate) {
  94. return stpLogic.getSessionByLoginId(loginId, isCreate);
  95. }
  96. public static SaSession getSessionBySessionId(String sessionId) {
  97. return stpLogic.getSessionBySessionId(sessionId);
  98. }
  99. public static SaSession getSessionByLoginId(Object loginId) {
  100. return stpLogic.getSessionByLoginId(loginId);
  101. }
  102. public static SaSession getSession(boolean isCreate) {
  103. return stpLogic.getSession(isCreate);
  104. }
  105. public static SaSession getSession() {
  106. return stpLogic.getSession();
  107. }
  108. public static SaSession getTokenSessionByToken(String tokenValue) {
  109. return stpLogic.getTokenSessionByToken(tokenValue);
  110. }
  111. public static SaSession getTokenSession() {
  112. return stpLogic.getTokenSession();
  113. }
  114. public static void checkActivityTimeout() {
  115. stpLogic.checkActivityTimeout();
  116. }
  117. public static void updateLastActivityToNow() {
  118. stpLogic.updateLastActivityToNow();
  119. }
  120. public static long getTokenTimeout() {
  121. return stpLogic.getTokenTimeout();
  122. }
  123. public static long getSessionTimeout() {
  124. return stpLogic.getSessionTimeout();
  125. }
  126. public static long getTokenSessionTimeout() {
  127. return stpLogic.getTokenSessionTimeout();
  128. }
  129. public static long getTokenActivityTimeout() {
  130. return stpLogic.getTokenActivityTimeout();
  131. }
  132. public static boolean hasRole(Object loginId, String role) {
  133. return stpLogic.hasRole(loginId, role);
  134. }
  135. public static boolean hasRole(String role) {
  136. return stpLogic.hasRole(role);
  137. }
  138. public static void checkRole(String role) {
  139. stpLogic.checkRole(role);
  140. }
  141. public static void checkRoleAnd(String... roleArray) {
  142. stpLogic.checkRoleAnd(roleArray);
  143. }
  144. public static void checkRoleOr(String... roleArray) {
  145. stpLogic.checkRoleOr(roleArray);
  146. }
  147. public static boolean hasPermission(Object loginId, String permission) {
  148. return stpLogic.hasPermission(loginId, permission);
  149. }
  150. public static boolean hasPermission(String permission) {
  151. return stpLogic.hasPermission(permission);
  152. }
  153. public static void checkPermission(String permission) {
  154. stpLogic.checkPermission(permission);
  155. }
  156. public static void checkPermissionAnd(String... permissionArray) {
  157. stpLogic.checkPermissionAnd(permissionArray);
  158. }
  159. public static void checkPermissionOr(String... permissionArray) {
  160. stpLogic.checkPermissionOr(permissionArray);
  161. }
  162. public static String getTokenValueByLoginId(Object loginId) {
  163. return stpLogic.getTokenValueByLoginId(loginId);
  164. }
  165. public static String getTokenValueByLoginId(Object loginId, String device) {
  166. return stpLogic.getTokenValueByLoginId(loginId, device);
  167. }
  168. public static List<String> getTokenValueListByLoginId(Object loginId) {
  169. return stpLogic.getTokenValueListByLoginId(loginId);
  170. }
  171. public static List<String> getTokenValueListByLoginId(Object loginId, String device) {
  172. return stpLogic.getTokenValueListByLoginId(loginId, device);
  173. }
  174. public static String getLoginDevice() {
  175. return stpLogic.getLoginDevice();
  176. }
  177. public static List<String> searchTokenValue(String keyword, int start, int size) {
  178. return stpLogic.searchTokenValue(keyword, start, size);
  179. }
  180. public static List<String> searchSessionId(String keyword, int start, int size) {
  181. return stpLogic.searchSessionId(keyword, start, size);
  182. }
  183. public static List<String> searchTokenSessionId(String keyword, int start, int size) {
  184. return stpLogic.searchTokenSessionId(keyword, start, size);
  185. }
  186. public static void disable(Object loginId, long disableTime) {
  187. stpLogic.disable(loginId, disableTime);
  188. }
  189. public static boolean isDisable(Object loginId) {
  190. return stpLogic.isDisable(loginId);
  191. }
  192. public static long getDisableTime(Object loginId) {
  193. return stpLogic.getDisableTime(loginId);
  194. }
  195. public static void untieDisable(Object loginId) {
  196. stpLogic.untieDisable(loginId);
  197. }
  198. public static void switchTo(Object loginId) {
  199. stpLogic.switchTo(loginId);
  200. }
  201. public static void endSwitch() {
  202. stpLogic.endSwitch();
  203. }
  204. public static boolean isSwitch() {
  205. return stpLogic.isSwitch();
  206. }
  207. public static void switchTo(Object loginId, SaFunction function) {
  208. stpLogic.switchTo(loginId, function);
  209. }
  210. public static void openSafe(long safeTime) {
  211. stpLogic.openSafe(safeTime);
  212. }
  213. public static boolean isSafe() {
  214. return stpLogic.isSafe();
  215. }
  216. public static void checkSafe() {
  217. stpLogic.checkSafe();
  218. }
  219. public static long getSafeTime() {
  220. return stpLogic.getSafeTime();
  221. }
  222. public static void closeSafe() {
  223. stpLogic.closeSafe();
  224. }
  225. /** @deprecated */
  226. @Deprecated
  227. public static String getLoginKey() {
  228. return stpLogic.getLoginType();
  229. }
  230. /** @deprecated */
  231. @Deprecated
  232. public static void setLoginId(Object loginId) {
  233. stpLogic.login(loginId);
  234. }
  235. /** @deprecated */
  236. @Deprecated
  237. public static void setLoginId(Object loginId, String device) {
  238. stpLogic.login(loginId, device);
  239. }
  240. /** @deprecated */
  241. @Deprecated
  242. public static void setLoginId(Object loginId, boolean isLastingCookie) {
  243. stpLogic.login(loginId, isLastingCookie);
  244. }
  245. /** @deprecated */
  246. @Deprecated
  247. public static void setLoginId(Object loginId, SaLoginModel loginModel) {
  248. stpLogic.login(loginId, loginModel);
  249. }
  250. public static Long getUserIdAfterLogin() {
  251. if (isLogin()) {
  252. return StpUserUtil.getLoginIdAsLong();
  253. }
  254. return null;
  255. }
  256. }