3

ユーザーのすべてのセッションを期限切れにすることはできますか? を使用して を
期限切れにできることを知っています。sessionsession.invalidate()

Tomcat、サーブレット/JSP を使用しています。

セッションには属性がありますuserId

sessionそれに基づいて、これが特定のユーザーに属していると定義します。

特定の userId を含むすべてのセッションを無効にする必要があります。

4

3 に答える 3

6

このコードを使用してアクティブなセッションを管理し、ID でセッションを取得します。その後、このセッションを呼び出して、必要に応じて無効にすることができます。

 public class SessionListener implements HttpSessionListener  
{  

     private static Map<String, HttpSession> map = new   
                                     HashMap<String, HttpSession>();  

    public void sessionCreated(HttpSessionEvent event)  
    {  
        String id = event.getSession().getId();  
        logger.debug("session created : " + id);  
        // STORE THE SESSOIN FOR EXAMPLE IN DATABASE 
        map.put(id, event.getSession());  
    }  

    public static HttpSession getHttpSession(String sessionID)  
    {  
        return sessionObjectMap.get(sessionID);  
    }  

    public void sessionDestroyed(HttpSessionEvent event)  
    {  
        // get the destroying session...               
    }  
} 
于 2013-05-14T07:37:36.703 に答える
0

すべてのセッション値を空にすることができます..

session.removeAttribute("userId");
于 2013-05-14T07:51:56.497 に答える