Mam pojedynczy aplikacja obsługi wielu subdomen, takich jakJak uzyskać tę samą sesję subdomen w Grails
- sub1.domain.com
- sub2.domain.com
- www.domain.com
- domain.com
użytkownik może przełączyć się w poprzek tych subdomen podczas korzystania z aplikacji. W takim przypadku sesja nie jest udostępniana w tych subdomenach. Używam tomcat jako serwera do rozwoju i produkcji.
Staram się, aby sesje współdzielone działały w pierwszej kolejności. Po przeczytaniu w górę, okazało się, że droga do osiągnięcia tego celu w Tomcat jest:
<Context sessionCookiePath="/" sessionCookieDomain=".domain.com">
Czy istnieje sposób mogę ustawić to w Tomcat w środowisku rozwoju?
Próbowałem poniższy kod w _Events.groovy, bez powodzenia:
dostaję java.lang.IllegalArgumentException błędzie: addChild: imię dziecka "nie jest unikalna
Zakładam, co muszę to odpowiednik poniżej kod (który nie może pracować, ponieważ nie istnieje metoda getContext):
eventConfigureTomcat = {tomcat ->
def context = tomcat.getContext("") //This function does not exist
context.setSessionCookieDomain(".domain.com")
context.setSessionCookiePath("/")
}
Wszelkie sugestie, w jaki sposób mogę dostać tej pracy zarówno devel rozwój i produkcja? Z góry dziękuję za pomoc.
Valbuena, plik TomcatServer.groovy nie jest już w wtyczce. został usunięty, gdy wtyczka została uaktualniona do użycia Tomcat7 (https://github.com/grails-plugins/grails-tomcat-plugin). – Shiva
Po raz pierwszy spróbowałem zmodyfikować wtyczkę tomcat w wersji 1.3.9. Ale to jest dołączone do wersji tomcat, gdzie setSessionCookieDomain nie jest zaimplementowana w klasie StandardContext. Dlatego też wypróbowałem wersję 2.0.4, w której wydaje się, że klasa TomcatServer została usunięta. – Shiva