2016-12-01 4 views
0

私たちのプレイWebアプリケーションでセッションタイムアウトを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)が見落とされました。

関連する問題