Why is Spring Boot redirecting with jsessionid in the URL even though I already turned it off?
Google Chrome is making this request on the login page.
Request
Request URL: http://app.country-region-9.elasticbeanstalk.com/admin/login
Request Method: POST
Status Code: 302 Found
Remote Address: 99.99.99.99:80
Referrer Policy: no-referrer-when-downgrade
Response
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Connection: keep-alive
Content-Language: en-US
Content-Length: 0
Date: Thu, 15 Nov 2018 04:23:19 GMT
Expires: 0
Location: /home;jsessionid=15884DA40ECAD4F5CBA6CD138B4B4105
Pragma: no-cache
Server: nginx/1.12.1
Set-Cookie: JSESSIONID=15884DA40ECAD4F5CBA6CD138B4B4105; Path=/; HttpOnly
I have this setting already in application.properties.
server.session.tracking-modes=cookie
So why is Spring Boot appending ;jsessionid to the redirect location? It is breaking the app because Spring Security complains about the semicolon. It works in my local machine and doesn't append the session. It is only failing when deployed to AWS.
This is the action in the controller which redirects:
@RequestMapping(value = "/admin/login", method = RequestMethod.POST)
public String doLogin(HttpServletRequest request, HttpServletResponse response) {
...
request.getSession().setAttribute("user", user);
return "redirect:/home";
I also confirmed it with curl
$ curl -i http://app.country-region-9.elasticbeanstalk.com/admin/login -d username=xxxx -d password=xxxxxxxxxxx
HTTP/1.1 302 Found
...
Location: /home;jsessionid=5A1009B5F3C59ED0F794E625B5E36EA0
But it's not doing that locally.
$ curl -i http://localhost:8080/admin/login -d username=xxxxx -d password=xxxxxxxxxx
HTTP/1.1 302
Set-Cookie: JSESSIONID=4B8930CCC8CE85167089CEBEB47657D4; Path=/; HttpOnly
...
Location: http://localhost:8080/home
spring spring-boot amazon-elastic-beanstalk
add a comment |
Google Chrome is making this request on the login page.
Request
Request URL: http://app.country-region-9.elasticbeanstalk.com/admin/login
Request Method: POST
Status Code: 302 Found
Remote Address: 99.99.99.99:80
Referrer Policy: no-referrer-when-downgrade
Response
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Connection: keep-alive
Content-Language: en-US
Content-Length: 0
Date: Thu, 15 Nov 2018 04:23:19 GMT
Expires: 0
Location: /home;jsessionid=15884DA40ECAD4F5CBA6CD138B4B4105
Pragma: no-cache
Server: nginx/1.12.1
Set-Cookie: JSESSIONID=15884DA40ECAD4F5CBA6CD138B4B4105; Path=/; HttpOnly
I have this setting already in application.properties.
server.session.tracking-modes=cookie
So why is Spring Boot appending ;jsessionid to the redirect location? It is breaking the app because Spring Security complains about the semicolon. It works in my local machine and doesn't append the session. It is only failing when deployed to AWS.
This is the action in the controller which redirects:
@RequestMapping(value = "/admin/login", method = RequestMethod.POST)
public String doLogin(HttpServletRequest request, HttpServletResponse response) {
...
request.getSession().setAttribute("user", user);
return "redirect:/home";
I also confirmed it with curl
$ curl -i http://app.country-region-9.elasticbeanstalk.com/admin/login -d username=xxxx -d password=xxxxxxxxxxx
HTTP/1.1 302 Found
...
Location: /home;jsessionid=5A1009B5F3C59ED0F794E625B5E36EA0
But it's not doing that locally.
$ curl -i http://localhost:8080/admin/login -d username=xxxxx -d password=xxxxxxxxxx
HTTP/1.1 302
Set-Cookie: JSESSIONID=4B8930CCC8CE85167089CEBEB47657D4; Path=/; HttpOnly
...
Location: http://localhost:8080/home
spring spring-boot amazon-elastic-beanstalk
add a comment |
Google Chrome is making this request on the login page.
Request
Request URL: http://app.country-region-9.elasticbeanstalk.com/admin/login
Request Method: POST
Status Code: 302 Found
Remote Address: 99.99.99.99:80
Referrer Policy: no-referrer-when-downgrade
Response
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Connection: keep-alive
Content-Language: en-US
Content-Length: 0
Date: Thu, 15 Nov 2018 04:23:19 GMT
Expires: 0
Location: /home;jsessionid=15884DA40ECAD4F5CBA6CD138B4B4105
Pragma: no-cache
Server: nginx/1.12.1
Set-Cookie: JSESSIONID=15884DA40ECAD4F5CBA6CD138B4B4105; Path=/; HttpOnly
I have this setting already in application.properties.
server.session.tracking-modes=cookie
So why is Spring Boot appending ;jsessionid to the redirect location? It is breaking the app because Spring Security complains about the semicolon. It works in my local machine and doesn't append the session. It is only failing when deployed to AWS.
This is the action in the controller which redirects:
@RequestMapping(value = "/admin/login", method = RequestMethod.POST)
public String doLogin(HttpServletRequest request, HttpServletResponse response) {
...
request.getSession().setAttribute("user", user);
return "redirect:/home";
I also confirmed it with curl
$ curl -i http://app.country-region-9.elasticbeanstalk.com/admin/login -d username=xxxx -d password=xxxxxxxxxxx
HTTP/1.1 302 Found
...
Location: /home;jsessionid=5A1009B5F3C59ED0F794E625B5E36EA0
But it's not doing that locally.
$ curl -i http://localhost:8080/admin/login -d username=xxxxx -d password=xxxxxxxxxx
HTTP/1.1 302
Set-Cookie: JSESSIONID=4B8930CCC8CE85167089CEBEB47657D4; Path=/; HttpOnly
...
Location: http://localhost:8080/home
spring spring-boot amazon-elastic-beanstalk
Google Chrome is making this request on the login page.
Request
Request URL: http://app.country-region-9.elasticbeanstalk.com/admin/login
Request Method: POST
Status Code: 302 Found
Remote Address: 99.99.99.99:80
Referrer Policy: no-referrer-when-downgrade
Response
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Connection: keep-alive
Content-Language: en-US
Content-Length: 0
Date: Thu, 15 Nov 2018 04:23:19 GMT
Expires: 0
Location: /home;jsessionid=15884DA40ECAD4F5CBA6CD138B4B4105
Pragma: no-cache
Server: nginx/1.12.1
Set-Cookie: JSESSIONID=15884DA40ECAD4F5CBA6CD138B4B4105; Path=/; HttpOnly
I have this setting already in application.properties.
server.session.tracking-modes=cookie
So why is Spring Boot appending ;jsessionid to the redirect location? It is breaking the app because Spring Security complains about the semicolon. It works in my local machine and doesn't append the session. It is only failing when deployed to AWS.
This is the action in the controller which redirects:
@RequestMapping(value = "/admin/login", method = RequestMethod.POST)
public String doLogin(HttpServletRequest request, HttpServletResponse response) {
...
request.getSession().setAttribute("user", user);
return "redirect:/home";
I also confirmed it with curl
$ curl -i http://app.country-region-9.elasticbeanstalk.com/admin/login -d username=xxxx -d password=xxxxxxxxxxx
HTTP/1.1 302 Found
...
Location: /home;jsessionid=5A1009B5F3C59ED0F794E625B5E36EA0
But it's not doing that locally.
$ curl -i http://localhost:8080/admin/login -d username=xxxxx -d password=xxxxxxxxxx
HTTP/1.1 302
Set-Cookie: JSESSIONID=4B8930CCC8CE85167089CEBEB47657D4; Path=/; HttpOnly
...
Location: http://localhost:8080/home
spring spring-boot amazon-elastic-beanstalk
spring spring-boot amazon-elastic-beanstalk
edited Nov 15 '18 at 4:54
Chloe
asked Nov 15 '18 at 4:37
ChloeChloe
11k1982198
11k1982198
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "1"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53312511%2fwhy-is-spring-boot-redirecting-with-jsessionid-in-the-url-even-though-i-already%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53312511%2fwhy-is-spring-boot-redirecting-with-jsessionid-in-the-url-even-though-i-already%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown