Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 1816
  • Last Modified:

HELP!!! PLEASE!!! Ajax calls create new session when I don't want it to.

Good afternoon all,

I have been stuck on a problem for a long time and I am hoping that somebody here has a solution for me.  I am building a web application using java with jquery and ajax.  Due to security reasons, things beyond my control, access to my application has to be forwarded from appache via https to a secure port on tomcat.  My problem is that each time an ajax call is made it is creating new sessions instead of finding the one that was created during the login.  During the execution of an application there could be as many as 20 sessions created.  How do I fix this problem?  Is there a way to force ajax to stop creating new sessions?  I am desperate.
0
Amzngmoe
Asked:
Amzngmoe
1 Solution
 
mrcoffee365Commented:
Ajax requests to the server should not be making new tomcat sessions.  There are some circumstances where new sessions are created when requests are made.  If you don't return the cookie (which ajax should do by default -- but are these different domains?) -- then each connection will make a new session.  If you have to log in every time, then each login will make a new session.  There are some flags to give tomcat which can prevent some of this, but you need to be careful.  

So perhaps there is something wrong with how your Ajax requests are being made.  If you can give more description of the problem, we're more likely to be able to help.
0
 
dpearsonCommented:
It sounds to me like the apache server may not be forwarding the cookies in the request to Tomcat - so Tomcat sees each request as new and creates a new session.

I'd suggest investigating the headers that are received by apache and comparing them to the headers being received by Tomcat on the request.  If the cookies are indeed being dropped then you would need to fix this in the way Apache is forwarding the requests.

Doug
0
Concerto's Cloud Advisory Services

Want to avoid the missteps to gaining all the benefits of the cloud? Learn more about the different assessment options from our Cloud Advisory team.

 
ValeriCommented:
"Due to security reasons, things beyond my control, access to my application has to be forwarded from appache via https to a secure port on tomcat."
Does this mean that it's a crossdomain request?! If it is, then you have to add this to your ajax request:

xhrFields: { withCredentials: true }

NOTE: "In jQuery 1.5, the withCredentials property was not propagated to the native XHR and thus CORS requests requiring it would ignore this flag. For this reason, we recommend using jQuery 1.5.1+ should you require the use of it."
0
 
AmzngmoeAuthor Commented:
Yes it is a cross domain request.  I will try all of your suggestion.  Thank you so much.
0
 
AmzngmoeAuthor Commented:
This solved my problem and I am eternally grateful for the help.  Thank you so much.
0

Featured Post

VIDEO: THE CONCERTO CLOUD FOR HEALTHCARE

Modern healthcare requires a modern cloud. View this brief video to understand how the Concerto Cloud for Healthcare can help your organization.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now