Если вы следуете руководству по Play Framework 2 для реализации аутентификации: http: // www .playframe work .com / d o c u m t t t i o n / 2. 2. 2 / J a v a G u i de4 — вы заметите, что в Play Framework 2 тайм-аут сеанса отсутствует. в Play Framework 1, но Play Framework 2 следует другому подходу.
Если вы хотите внедрить свой собственный тайм-аут сеанса, а затем следуйте руководству по настройке аутентификации , расширив Security.Authenticator , и сохраните метку времени в сеансе и продолжайте расширять ее каждый раз, когда делается запрос.
Вот как я это сделал:
|
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
public class Secured extends Security.Authenticator { public static final String UNAUTHENTICATED = "unauthenticated"; public static User getLoggedInUser() { if (session("userId") == null) return null; return User.findById(Long.parseLong(session("userId"))); } public static String getLoggedInUsername() { if (session("userId") == null) return null; return User.findById(Long.parseLong(session("userId"))).getUsername(); } @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(); }} |
Затем просто добавьте sessionTimeout=15 (в минутах) в файл conf.
| Ссылка: | Как реализовать время ожидания сеанса в Play Framework 2 от нашего партнера по JCG Брайана Портера из блога Poornerd . |