Odhlasujem sa pomocou odkazu na ovládač odhlásenia, ako je uvedené nižšie
get "/logout" do
protected!
session[:id]=nil
redirect back
end
protected!
je pomocná metóda:
def protected!
redirect "/login" if session[:id] == nil
end
Keď kliknem na tlačidlo odhlásenia, stránka sa odhlási a zobrazí prihlasovaciu stránku podľa očakávania. ALE keď kliknem späť na prehliadač, zobrazí sa stránka [ktorá vyžaduje reláciu], keď by nemala byť.
Relácia bola nastavená na nulu /logout
a všetky stránky vyžadujúce reláciu by sa nemali zobrazovať. Existuje keška alebo iná relácia, ktorú musím zničiť?
odpovede:
2 pre odpoveď č. 1Znie to, akoby vám bol doručený zastaraný obsah z medzipamäte prehliadača.
V závislosti od prehliadača a jeho nakonfigurovaných nastavení, pokiaľ nie je uvedené inak (napr. S hlavičkou Cache-Control), použije prehliadač po stlačení tlačidla späť miestnu vyrovnávaciu pamäť.
Môžete použiť pomocníka nástroja cache_control od spoločnosti Sinatra: http://www.rubydoc.info/github/sinatra/sinatra/Sinatra%2FHelpers%3Acache_control
niektorí viac info tu (v časti „Ovládanie vyrovnávacej pamäte“) a ak máte záujem, tu je príslušný RFC