3

에서 사용자 지정 쿠키 이름을 가지고 어떻게 다른 포트와 동일한 서버에서 실행되는 두 개의 응용 프로그램 AB 있습니다. 쿠키가 특정 포트가 아니기 때문에이 두 응용 프로그램은 동일한 쿠키 JSESSIONID을 사용합니다. 내가 그들 중 하나에 로그인 할 때, 나는 다른 사람에게서 쫓겨납니다.봄 보안

그래서 나는 이러한 응용 프로그램 각각에 대한 쿠키 이름을 수정해야합니다. 어떻게 사용자 정의 쿠키 이름을 가질 수 있습니까? 도움이된다면 봄 보안을 사용하고 있습니다.


문제
해결 마이클이 지적했듯이, 나는 전혀 JSESSIONID 이름을 변경할 필요가 없었다. 두 응용 프로그램 모두 URL/Path을 사용하므로 두 번째 쿠키가 첫 번째 쿠키를 대체합니다.

답변

2

당신은 JSESSIONID 쿠키의 이름을 변경하지 마십시오. 쿠키는 특정 포트가 아니지만 응용 프로그램 경로마다 다릅니다. 기본 동작은 응용 프로그램 경로에 따라 JSESSIONID 쿠키를 설정하는 것이며 한 응용 프로그램의 쿠키가 두 번째 응용 프로그램의 쿠키를 방해해서는 안됩니다. spring-security-samples-contacts-3.1.0.RELEASE.war 파일을 두 번 같은 서버의 webapp 폴더 (test.war 및 contacts.war)로 복사합니다. 동일한 브라우저에서 두 응용 프로그램을 모두 열었습니다. 내가 피들러를 사용하고 난 다음을 참조 : 테스트 응용 프로그램과 유사

Set-Cookie: JSESSIONID=408F79D16A8665C73F5C30D66B102DA6; Path=/contacts/; HttpOnly 

: 다음

Set-Cookie: JSESSIONID=ECAE9734E9A277F1E96D678BB67E558B; Path=/test/; HttpOnly 

, 내가 작업 할 수 있습니다 내가 톰캣 경로 contacts에 쿠키를 설정 연락처 응용 프로그램에 로그인하면 문제없이 같은 시간에 두 응용 프로그램에

+0

는 사실'JSESSIONID's의 값이 다르다. 그러나이 응용 프로그램 중 하나에 로그인하자마자 다른 응용 프로그램에서 버려집니다. 그래도 2 가지 질문이 더 있습니다 ** ** 1) ** 내 문제는 무엇이 될 수 있습니까? ** 2) ** 피들러 란 무엇이며 어디에서 찾을 수 있습니까? –

+0

Fiddler는 HTTP 요청 및 응답을 가로 챌 수있는 무료 프록시입니다 (http://fiddler2.com/). 문제가 무엇인지 이해하는 데 도움이 될 수 있습니다. 또한 Spring Security 구성 파일을 질문에 추가하는 것이 유용 할 수 있습니다. – Michael

+1

이것이 질문의 대답은 아니지만, 당신은이 모든 방법을 통해 나를 보여주었습니다. 그래서 _ 감사합니다. 나는 당신의 대답에 대해 찬성표를 던집니다. –