Lösung Reines Spring MVC, sevlet context.xml
<mvc:interceptors>
<bean class="com.xxx.SessionHandler" />
</mvc:interceptors>
Handler Adapter
@Component
public class SessionHandler extends HandlerInterceptorAdapter {
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
request.getSession().setMaxInactiveInterval(60*60);
return true;
}
}
mit Angenommen, Sie Feder Sicherheit verwenden,
Für jede erfolgreiche Anmeldung denke ich, beste Weg ist, Erstellen Sie LoginSuccessHandler
und geben Sie authentication-success-handler für normales Login sowie remember-me an.
@Service
public class LoginSuccessHandler extends SavedRequestAwareAuthenticationSuccessHandler {
@Override
public void onAuthenticationSuccess(
HttpServletRequest request,
HttpServletResponse response,
Authentication authentication) throws ServletException, IOException {
request.getSession().setMaxInactiveInterval(60*60);
super.onAuthenticationSuccess(request, response, authentication);
}
}
<http auto-config="true" use-expressions="true">
<form-login login-page="/login"
authentication-failure-url="/login.hst?error=true"
**authentication-success-handler-ref="loginSucessHandler"** />
<logout invalidate-session="true" logout-success-url="/home" logout-url="/logout" />
<remember-me key="jbcp" **authentication-success-handler-ref="loginSucessHandler"**/>
<session-management>
<concurrency-control max-sessions="1" />
</session-management>
</http>
Ich möchte das auch wissen. Als ich das durchging, war die * einzige * Möglichkeit, die ich ändern konnte, die Einstellung in web.xml (oder server.xml). – nickdos
Was ist falsch mit setMaxInactiveInterval, ist es nicht ein Teil der Servlet-API? Einige Spring Security Tools rufen zum Beispiel session.invalidate direkt auf, und es gibt keine Probleme damit. –
@BorisTreukhov Es ist nichts falsch daran. Dies ist die letzte Option. Ich möchte nur sicherstellen, dass es noch eine andere Alternative wie die Angabe in der Konfigurationsdatei oder etwas gibt. – JProgrammer