APM Session Visibility across VIPs
What is the best way to establish session visibility across multiple APM sessions without a SSO configuration or a persistent cookie? My site hosts projects which have multiple virtual servers. We use PKI certificate information injected into HTTP headers for authentication and APM message boxes for EULA compliance. Some sites use Active Directory for authentication but others use OpenLDAP or local user databases populated with certificate information.
We have a requirement to suppress all but the first EULA messages when users browse sites within the same project. For example, if a user goes to payroll1.company.com they should receive a EULA message. If they then go to payroll2.company.com they shouldn’t receive a second message box, but if they go to sales.company2.com they should receive a second EULA prompt.
The browser must simply include the cookie in the request to be associated with the session. RFC 6265 defines exactly how this works, if you aren't familiar with it. The wikipedia article on HTTP cookies is also very good.
Customers usually choose one of the following options to share the cookie across multiple vips/hostnames:
-
Set the cookie domain to be wide like ".company.com" so that the cookie will be transmitted to *.company.com.
-
Use APM's multi-domain mode so that when APM gets a request without a cookie, it will "check with" the domain set as the primary-authentication URI to see if it's been set. This happens by using some 302 redirects between the hostanmes/vips.
For either of these options, make sure the session scope is set appropriately.
-