Starší komentáře ke článku: Java Servlets - autorizovaný prístup k aplikácii 2.

Zpět na článek | Úvodní stránka Interval.cz

Avatar

Autor komentáře: Radim

Datum vložení: 22.1.2004 9:29:22

Přihlašování přes formulář má dva drobné problémy. Při přechodu na přihlašovací formulář je session id v URL (alespoň tomcat to tak dělá - pokud se nepletu, tak o tom rozhoduje WWW server), z čehož vyplívá:

1) Hloupý uživatel si stránku s přihlašovacím formulářem dá do svých oblíbených stránek ve WWW prohlížeči. Když se pomocí tohoto odkazu podívá na stránky v době, kdy už session není, přihlašování selže. - Tohle by se dalo snad obejít pomocí FRAME. Ale toto řešení mě připadá divné. Jiné mě nenapadá.

2) Uživatel chce mít ve svém WWW prohlížeči uloženo přihlašovací jméno a heslo. A to nejde, protože URL stránky je pokaždé jiné. Adresa stránky je stejná, jen se mění jako by parametry. Mozille to kupodivu nevadí a password manager nabídne správně jméno i heslo. V MS IE se mi to ale nikdy nepovedlo.

Víte někdo jak řešit tyto problémy? Dá se Tomcat (asi konfigurací) přinutit k tomu, aby "přikázal" prohlížeči nemít u přihlašovacího formuláře session id v URL, ale aby ho prohlížeč poslal v HTML hlavičce. Nebo se to dá řešit nějak jinak?

Děkuji za odpovědi.

Avatar

Autor komentáře: Radim

Datum vložení: 24.1.2004 10:10:35

Ještě jsem si vzpoměl na 3. problém, který jsme museli řešit, když jsme používali princip popsaný v článku.
Pokud se uživatel pokusí přejít na stránku chráněnou heslem, bude přesměrován na přihlašovací formulář a pokud ještě nemá vytvořenou session, tak ta bude vytvořena. Problém je, že uživatel se musí přihlásit dokud nevyprší platnost session. Což je běžně 30 minut. Pokud se přihlásí potom, přihlášení selže.
Nejen, že se musí přihlásit do 30 minut. Stejný problém nastává v situaci, kdy se dostane na přihlašovací formulář, tím se vytvoří session, on si to rozmyslí, nepřihlásí se, někde půl hodiny "serfuje" a pak se pomocí tlačítka zpět vrátí na přihlašovací formulář.

Problém, že se musí přihlásit do vypřšení session myslím není nijak řešitelný. Nebo má někdo nějaký nápad?

Avatar

Autor komentáře: Aleq

Datum vložení: 23.1.2004 2:09:22

Jestli se nemylim, tak zalezi na prohlizeci jestli podporuje Cookies. Pokud ano, je session v cookie, jinak se session udrzuje prepisem adres. Takze kdyz uzivatel ma cookies, je to v pohode.

Avatar

Autor komentáře: Radim

Datum vložení: 24.1.2004 9:56:31

Opravdu je to čistě v režii prohlížeče? Session id se opravdu dává do URL, pokud s ním prohlížeč neumí jinak pracovat. Ale server na to nemá žádný vliv?
Zajímavé totiž je, že prohlížeče, které běžně používám, posílají cookie (tedy i session id) v hlaviččce HTTP, jediná vyjímka je právě případ popisovaný v článku. Kdy TomCat přesměruje nějaký požadavek na stránku s přihlašovacím formulářem. V tom případě je VŽDY session id v URL, jinak nikdy. Já nevím jak tomu zabránit.

Jestli je to opravdu věcí prohlížeče, kde to v MS IE nastavím? Tam přece není žádná taková volba.

Zpět na článek | Úvodní stránka Interval.cz