>  기사  >  Java  >  SpringBoot 세션에서 세션 시간 초과를 설정하는 방법

SpringBoot 세션에서 세션 시간 초과를 설정하는 방법

WBOY
WBOY앞으로
2023-05-15 14:37:062108검색

문제 발견

springboot 프로젝트 제작 세션 아웃 시간 초과 문제, 문제 설명:

테스트 환경에서 application.yaml을 변경하여 세션 아웃을 구성하고, 다른 시간을 설정한 후 세션 아웃 구성이 적용되는지 확인하므로 만료일이 직접 설정되어 8시간 만에 프로덕션 환경에 출시되었습니다. 그런데 정오에 프로젝트 만료 시간이 짧게 설정되어 있다는 고객 피드백을 받았습니다. 30분 동안 아무 작업도 수행하지 않으면 세션이 만료되어 다시 로그인해야 합니다.

해결 방법

개발 환경: springboot 프로젝트에는 Tomcat이 내장되어 있으므로 프로젝트의 application.yaml에 있는 세션 아웃 구성이 효과적입니다.

프로덕션 환경: 프로덕션 환경 릴리스는 클라우드 서비스(Docker+K8s)를 통해 Docker를 통해 이미지를 빌드하는 것입니다. 단, 기본 이미지 tomacat의 web.xml에서 세션 아웃은 30분으로 설정되어 있습니다.

해결책: 마지막으로 Docker가 이미지를 빌드할 때 수정된 web.xml을 DockerFile에 넣고 기본 이미지의 원본 web.xml을 덮어쓴 다음 이미지를 다시 빌드하고 원본 기본 이미지의 web.xml을 성공적으로 교체합니다. 문제는 마침내 해결되었습니다.

시온 무효화: 사용자가 로그인한 시점부터 세션이 생성되며, 세션 아웃 설정 시간 이상 사용자가 작동을 중지하면 세션이 만료됩니다.

1. 프로젝트의 웹에

[html] view plain copy<!-- 时间单位为分钟   -->  <session-config>
      <session-timeout>15</session-timeout></session-config>
를 설정합니다.
[html] view plain copy  <!-- ==================== Default Session Configuration ================= -->  
  <!-- You can set the default session timeout (in minutes) for all newly   -->  
  <!-- created sessions by modifying the value below.    -->  
	<session-config>  
        <session-timeout>30</session-timeout>  
	</session-config>

5.web.xml을 DockerFile

session.setMaxInactiveInterval(30*60);//以秒为单位
에 복사합니다.

위 내용은 SpringBoot 세션에서 세션 시간 초과를 설정하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 yisu.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제