2016-12-01 16 views
0

재생 웹 응용 프로그램에서 10m 세션 시간 초과를 구현하려고합니다. 그러나 나는 이것을 어떻게하는지에 관해 모른다. 나는 플레이 2.2.x 문서 및 아래에 언급 된 다른 웹 사이트를 따라 갔다. 하지만 그것은 나를 위해 작동하지 않습니다, 제발 어떻게이 일을 도와 줘?재생 프레임 워크 2.2.5에서 임 플레멘트 세션 타임 아웃은 어떻게됩니까?

Secured.java: 

@Override 
public String getUsername(Http.Context ctx) { 

    // see if user is logged in 
    if (session("userId") == null) 
     return null; 

    // see if the session is expired 
    String previousTick = session("userTime"); 
    if (previousTick != null && !previousTick.equals("")) { 
     long previousT = Long.valueOf(previousTick); 
     long currentT = new Date().getTime(); 
     long timeout = Long.valueOf(Play.application().configuration().getString("sessionTimeout")) * 1000 * 60; 
     if ((currentT - previousT) > timeout) { 
      // session expired 
      session().clear(); 
      return null; 
     } 
    } 

    // update time in session 
    String tickString = Long.toString(new Date().getTime()); 
    session("userTime", tickString); 

    return User.findById(Long.parseLong(session("userId"))).getUsername(); 
} 

application.conf : 
sessionTimeout=10 

답변

0

마지막으로, 위의 문제를 파악합니다. 컨트롤러 클래스의 @ Security.Authenticated (Secured.class)가 누락되었습니다.