Kevin
Kevin

Reputation: 13226

Scoping sessions to a particular section of a Coldfusion application?

Is there a way to enable sessions for just a specific part of the Coldfusion application by just adding Application.cfm into its directory with the session enablers?

For example, a website that has the following:

I want to use session variables in the rental section, independent of the ones in the intranet and store.

Upvotes: 1

Views: 95

Answers (2)

hofo
hofo

Reputation: 522

Maybe a Single Signon (SSO) solution would work for you? Rather than monkey around with the values in the session struct, just pass a user id from one app to another. When the user passes from extranet to rentals, the app says "here comes user #45", the rentals app looks them up in the db, does some validation to make sure that the user is who the extranet says they are, then starts a new session for them in rentals.

Upvotes: 0

Adam Tuttle
Adam Tuttle

Reputation: 19824

If you don't want to share session variables, and don't need to share application variables, then it's easy. Just put a different Application.cfc (or .cfm) in the root of the context for which you want access to the session variables.

So if you want sessions in /extranet, and sessions in /intranet and don't want them to be the same application, then:

/extranet/Application.cfc:

component {
    this.name = "extranet";
    this.sessionmanagement = true;
}

/intranet/Application.cfc:

component {
    this.name = "intranet";
    this.sessionmanagement = true;
}

It sounds like you aren't really up to speed on all of the things that you can do with Application.cfc, so I'll also add that this is a really good reference. There is a lot to learn, but it is also pretty simple once you understand how it works.

Upvotes: 2

Related Questions