2016-12-01 100 views
0

我們希望在我們的網絡應用程序中實現10米的會話超時。但我不知道如何做到這一點。我遵循播放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)錯過了。