2013-04-09 14 views
0

我不知道標題是否說明我在找什麼。 基本上我有一張表顯示當前登錄的會話。我希望能夠改變他們的狀態並將他們註銷。這是JSTL代碼:從彈出的視圖中從選定的會話ID註銷登錄mvc

<div id="users_table_div"> 
       <table id="box-table" style="width: 690px"> 
       <thead> 
        <tr> 
         <th>IP</th> 
         <th>USER NAME</th> 
         <th>LAST ACTIVITY</th> 
         <th>LOGIN STATUS</th> 
        </tr> 
       </thead> 
       <tbody> 
        <c:forEach var="userDetail" items="${userSessionData}"> 
         <tr> 
         <td><c:out value="${userDetail.ip}"/></td> 
         <td><c:out value="${userDetail.username}"/></td> 
         <td><c:out value="${userDetail.lastActivity}"/></td> 
         <td><a href="logoutUser(<c:out value='${userDetail.sessionId}'/>)"><img src="images/sign-out.png" /></a></td> 
         </tr> 
        </c:forEach> 
       </tbody> 
       </table> 
      </div> 

目前我在SessionID的設置一個JavaScript函數,但有可能是註銷其使用的sessionId春季安全MVC所選用戶的另一種方式。

所以從控制器,我從所有的用戶得到不同的會話數據。 IP,用戶名,LastActivity及其SessionId(將它們註銷)

有沒有一種很好的方法來管理它?

回答

2

這已經解決了。

萬一對方是同一個問題之下:

我只是在SessionID的控制器由另一@RequestMapping從視圖中爲以下決議:

<a href="<c:url value='/endsession?sessionId=${userDetail.sessionId}' />"> 

然後在控制器中代碼很簡單:

@RequestMapping(value="/endsession", method = RequestMethod.GET) 
public String endSession(String sessionId, Principal principal) { 
    logger.info("Removing sessionID = " + sessionId);  
    sessionRegistry.getSessionInformation(sessionId).expireNow(); 

    return "activeusers"; 
} 

而且taraam:d

希望它對其他人也有幫助。