2016-02-03 22 views
0

Я работаю над проектом Spring Web и создал HttpSession для проверки входа и доступа к страницам jsp. Я не использовал стандартную весеннюю технику безопасности. Однако я устанавливаю сеанс во время входа в систему и сопоставляю этот сеанс с каждым вызовом webService. Теперь при выходе из системы я хочу перенаправить пользователя на экран входа в систему и уничтожить сеанс, чтобы ничто не было доступно без переустройства. Я не знаю, как разрушить сеанс.Уничтожить HttpSession при выходе из системы Spring

// Здесь код настройки сеанса

StaffModel record1 = (StaffModel) data.get("records");   // separating records 

     if(record1 != null) 
     { 
      SessionData sessionData = new SessionData(); 

      sessionData.setMobileNo(record1.getMobileNo()); 
      sessionData.setCityName(record1.getCity()); 
      sessionData.setUserName(record1.getFirstName()); 
      sessionData.setUserRole(record1.getRole()); 
      sessionData.setSessionID(UUID.randomUUID());   
      sessionObj.setAttribute("SessionData" , sessionData);     // setting session Data 
     } 

// в JSP Я доступ к этой сессии

<script> 
var sessionData; 
var sUserName; 
var sMobileNo; 
var sUserRole; 
var sCityName; 
var sSessionId; 

function sessionCall() 
{ 
    sUserName = '<% SessionData obj = (SessionData)session.getAttribute("SessionData"); 
          out.print(obj.getUserName()); 
        %>'; 

    sMobileNo = <%  out.print(obj.getMobileNo()); %>; 
    sUserRole = '<%  out.print(obj.getUserRole()); %>';  
    sSessionId = '<%  out.print(obj.getSessionID()); %>' 
    sCityName = '<%  out.print(obj.getCityName()); %>'; 

    sessionData = 
    { 
     "mobileNo" : sMobileNo, 
     "cityName" : sCityName, 
     "userName" : sUserName, 
     "userRole" : sUserRole, 
     "sessionID": sSessionId 
    }; 

    document.getElementById("staffName").innerHTML=sUserName; 
    document.getElementById("staffRole").innerHTML=sUserRole; 
} 

</script> 

Проблема: на щелчок кнопки выхода из системы уничтожить HttpSession

Помощь

ответ

0

Вы всегда можете добавить сессию HttpSession как параметр r в методе контроллера. Сделайте это и попробовать:

session.invalidate(); 

P.S .: Похоже, с помощью Spring Security будет намного легче для вас, вы должны думать об изменении конфигурации.

Смежные вопросы