From d5bdf4cd56be6bd0e7afa81d75c35a9f15ae2a40 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期四, 21 九月 2023 09:09:32 +0800
Subject: [PATCH] 主播接口

---
 server/company/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java |  111 +------------------------------------------------------
 1 files changed, 2 insertions(+), 109 deletions(-)

diff --git a/server/company/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java b/server/company/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java
index 28b01dc..853e2bb 100644
--- a/server/company/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java
+++ b/server/company/src/main/java/com/doumee/config/shiro/ShiroAuthFilter.java
@@ -27,119 +27,12 @@
  */
 public class ShiroAuthFilter extends FormAuthenticationFilter {
 
-    public ShiroAuthFilter(SessionManager sessionManager,ShiroCacheManager shiroCacheManager) {
-        super();
-        this.sessionManager =   (ShiroSessionManager)sessionManager;
-        this.cache = shiroCacheManager.getCache("shiro_redis_cache");
-    }
-    @Override
-    protected boolean isAccessAllowed(ServletRequest request, ServletResponse response, Object mappedValue)  {
-        return false;
-    }
+        @Override
+        protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
 
-    private int maxSession = 1; //鏈�澶т細璇濇暟閲�
-
-    private boolean kickOutAfter = false;   //韪㈠嚭鍓嶈�呰繕鏄悗鑰�
-    private Cache<String, Deque<Serializable>> cache; //缂撳瓨绠$悊
-
-
-    private ShiroSessionManager sessionManager;  //浼氳瘽绠$悊
-
-    @Override
-    protected boolean onAccessDenied(ServletRequest request, ServletResponse response) throws Exception {
-        Subject subject = getSubject(request, response);
-        if (!subject.isAuthenticated() && !subject.isRemembered()) { //濡傛灉涓嶆槸璁よ瘉杩囧拰璁颁綇瀵嗙爜鐨勶紝灏辩洿鎺ユ斁琛岃姹傦紝閬垮厤閫犳垚璁块棶杩囨參
-           // return Boolean.TRUE;
-        }
-        Session session = subject.getSession(); //鑾峰彇浼氳瘽session
-        Object principal = subject.getPrincipal();
-        Serializable sessionId = session.getId();
-        LoginUserInfo userInfo = (LoginUserInfo) principal;
-        if(userInfo == null  ){
-            HttpServletResponse servletResponse = (HttpServletResponse) response;
-            servletResponse.setHeader("content-type", "application/json;charset=UTF-8");
-            servletResponse.getWriter().write(JSON.toJSONString(ApiResponse.failed(HttpStatus.UNAUTHORIZED.value(), "鏈櫥褰曟垨鐧诲綍淇℃伅宸茶繃鏈�")));
-            return Boolean.FALSE;
-//           return  super.onAccessDenied(request,response);
-        }else if( Constants.equalsInteger(userInfo.getType(), Constants.UserType.COMPANY.getKey()) ){
-            return Boolean.TRUE;
-//           return  super.onAccessDenied(request,response);
-        }
-
-        String userName = userInfo.getCompanyId() +"_"+ userInfo.getId();
-        Deque<Serializable> deque = cache.get(userName);
-        if (deque == null) {
-            deque = new LinkedList<>();
-        }
-        if (!deque.contains(sessionId) && session.getAttribute("kickOut") == null) {
-            deque.push(sessionId);
-            cache.put(userName, deque);
-        }
-        while (deque.size() > maxSession) {
-            Serializable kickOutSessionId;
-            if (kickOutAfter) {
-                kickOutSessionId = deque.removeFirst();
-                cache.put(userName, deque);
-            } else {
-                kickOutSessionId = deque.removeLast();
-                cache.put(userName, deque);
-            }
-
-            try {
-                Session kickOutSession = sessionManager.getSession(new DefaultSessionKey(kickOutSessionId));
-                if (kickOutSession != null) {
-                    kickOutSession.setAttribute("kickOut", Boolean.TRUE);
-                }
-            } catch (Exception e) {
-                e.printStackTrace();
-//                log.error("韪㈠嚭寮傚父鏈涪鍑�");
-            }
-        }
-
-        if (session!=null && session.getAttribute("kickOut") != null && (Boolean) session.getAttribute("kickOut") == true) {
-            try {
-                subject.logout();
-            } catch (Exception e) {
-                e.printStackTrace();
-            }
-            saveRequest(request);
             HttpServletResponse servletResponse = (HttpServletResponse) response;
             servletResponse.setHeader("content-type", "application/json;charset=UTF-8");
             servletResponse.getWriter().write(JSON.toJSONString(ApiResponse.failed(HttpStatus.UNAUTHORIZED.value(), "鏈櫥褰曟垨鐧诲綍淇℃伅宸茶繃鏈�")));
             return Boolean.FALSE;
         }
-        return Boolean.TRUE;
-    }
-
-    public int getMaxSession() {
-        return maxSession;
-    }
-
-    public void setMaxSession(int maxSession) {
-        this.maxSession = maxSession;
-    }
-
-    public boolean isKickOutAfter() {
-        return kickOutAfter;
-    }
-
-    public void setKickOutAfter(boolean kickOutAfter) {
-        this.kickOutAfter = kickOutAfter;
-    }
-
-    public Cache<String, Deque<Serializable>> getCache() {
-        return cache;
-    }
-
-    public void setCache(Cache<String, Deque<Serializable>> cache) {
-        this.cache = cache;
-    }
-
-    public ShiroSessionManager getSessionManager() {
-        return sessionManager;
-    }
-
-    public void setSessionManager(ShiroSessionManager sessionManager) {
-        this.sessionManager = sessionManager;
-    }
 }

--
Gitblit v1.9.3