Generování tří phpsessid – 2.4

uncanny
Člen | 19
+
0
-

Ahoj,
nové Nette ^2.4 mi z nějakého důvodu posílá třikrát phpsessid (dvakrát stejné, jedno odlišné). Ve verzi ^2.3 mi tohle nedělá (není to ale úplně shodný kód). Neprochází mi pak addProtection u formuláře. Nejspíš mi něco uniká ohledně session managementu.

Příklad:
Všechny sessions a cache promazány a jdu na stránku https://localhost/…esk/settings, kde je formulář s CsrfProtection a prohlížeč mi hned pošle tři phpsessid. (Možný problém ->) Při načítání stránky proběhlo automaticky přihlášení (SSO), které se volá ve startup funkci BasePresenteru:

protected function startup()
  {
    parent::startup();
    if ( !$this -> getUser() -> isLoggedIn() )
    {
      try
      {
        $this -> getUser() -> login();
      }
      catch ( \Exception $e )
      {
        return;
      }
      $this -> userManager -> updateUser ( $this -> userManager -> getUser ( $this -> getUser() -> getId() ) );
    }
  }

config.neon:

session:
  debugger: true
  cookie_secure: true
  savePath: '%tempDir%/sessions'
  autoStart: smart
  expiration: 1 day
  cookiePath: '/helpdesk'

Zkoušel jsem i autoStart: true, přidat cookieDomain: localhost, naopak odebrat cookiePath (na serveru běží více Nettích aplikací ale), přidat lomítko za helpdesk/, ale bez výsledku.
Když odeberu cookie_secure: true, tak se sice pošlou tři phpsessid, ale CsrfProtection už potom projde.

Snad jsem to popsal dostatečně a pomůže mi někdo. Dík ;)

ZahorskyJan
Člen | 59
+
0
-

@uncanny nasel si nejake reseni? ted se mi to pri aktualizaci aplikace taky stalo

uncanny
Člen | 19
+
0
-

Bohužel už si nepamatuju, jak jsem to vyřešil a sem jsem to zapomněl napsat.
Když se ale podívám na kód výše – přihlašování a config.neon, tak je stejný, jako je v aplikaci teď.

Promiň.

ZahorskyJan napsal(a):

@uncanny nasel si nejake reseni? ted se mi to pri aktualizaci aplikace taky stalo

Editoval uncanny (1. 2. 2018 12:40)

uncanny
Člen | 19
+
0
-

@ZahorskyJan Problém mi nastal včera ještě jednou, ale v jiné aplikaci. Tím pádem jsem zjistil, kde byla chyba i původně.

Měl jsem překlep v hodnotě cookiePath, neodpovídala jménu aplikace: helpdesk .

V kódu výše je to správně, ale po poslední úpravě jsem nepromazal cache, takže se to neprojevilo.

Editoval uncanny (19. 4. 2018 17:19)