2010-12-13 11 views
1

Gibt es eine Möglichkeit, Sitzungen nur für einen bestimmten Teil der Coldfusion-Anwendung zu aktivieren, indem Sie einfach Application.cfm mit den Sitzungsaktivierungen in das Verzeichnis einfügen?Scoping-Sitzungen zu einem bestimmten Abschnitt einer Coldfusion-Anwendung?

Zum Beispiel kann eine Website, die Folgendes hat:

  • /Extranet
  • /Intranet
  • /store
  • /Miete

I Sitzung verwenden möchten Variablen in die Mietabteilung, unabhängig von denen im Intranet und Laden.

Antwort

2

Wenn Sie nicht wollen Session-Variablen zu teilen, und nicht Notwendigkeit Anwendungsvariablen zu teilen, dann ist es einfach. Fügen Sie einfach eine andere Application.cfc (oder .cfm) in das Stammverzeichnis des Kontexts ein, für den Sie auf die Sitzungsvariablen zugreifen möchten.

Also, wenn Sie Sitzungen in/Extranet und Sitzungen in/Intranet und wollen sie nicht die gleiche Anwendung sein, dann:

/extranet/Application.cfc:

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

/intranet/Application.cfc:

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

Es klingt wie Sie nicht wirklich nach oben sind all die Dinge zu beschleunigen, auf die Sie mit Application.cfc tun kann, also werde ich auch, dass this is a really good reference hinzufügen. Es gibt viel zu lernen, aber es ist auch ziemlich einfach, wenn Sie einmal verstanden haben, wie es funktioniert.

+0

Es ist lange her, seit ich irgendetwas davon benutzt habe. Ich möchte eine Sitzungs-ID erstellen, die in einer Struktur verwendet und gespeichert werden kann, wenn jemand versucht, eine Eigenschaft zu buchen. Daher kann ich die Strukturdaten an einen Web-Service-Aufruf übergeben und dann die Struktur löschen. Ich brauche nur eine Möglichkeit, auf jeder Seite zu wissen, wer wer ist und wie man auf ihre Sitzung/Struktur zugreift. Muss ich das alles auf der referenzierten Seite tun? – Kevin

+0

Ich folge nicht wirklich, sorry. Kannst du etwas weniger abstrakt sprechen? Vielleicht aktualisieren Sie die Frage mit spezifischeren Informationen. –

+0

Sieht aus wie eine höhere Ebene Application.cfm störte meine Bemühungen. Soll ich stattdessen einfach cfcookie verwenden? Die CF-Dokumente sagen, keine Strukturfunktionen für Sitzungsvariablen zu verwenden. Irgendwelches Gewicht? – Kevin

0

Vielleicht funktioniert eine Single Sign-On (SSO) -Lösung für Sie? Anstatt mit den Werten in der Session-Struktur herumzuspielen, reicht es einfach, eine Benutzer-ID von einer App zur nächsten zu übergeben. Wenn der Benutzer von einem Extranet zu einem Verleih übergeht, sagt die App "here can users # 45", die App apps schaut sie in der db an, führt eine Validierung durch, um sicherzustellen, dass der Benutzer das Extranet ist, und startet dann eine neue Sitzung für sie in den Mieten.

Verwandte Themen