Sessions: Menghapus sesi saat FilesystemStore digunakan

Dibuat pada 27 Jan 2017  ·  3Komentar  ·  Sumber: gorilla/sessions

Hai, terima kasih pertama untuk paket ini, sangat mudah digunakan.

Masalah

Jika saya mengerti dengan benar, saat menggunakan penyimpanan sistem file untuk sesi, cookie sesi yang didapat klien hanya berisi ID sesi (karena ini bukan CookieStore). Backend mengambil sesi dari permintaan http dari sistem file dan memuatnya ke dalam memori (atau sekali dalam memori dan menyimpannya untuk permintaan berikutnya).

Mengapa tidak ada fungsi untuk menghapus sesi dari penyimpanan sistem file/dalam memori?

Skenario saya saat ini mengikuti; Saat pengguna keluar, saya ingin sesi dihapus:

  • file sesi harus dihapus
  • permintaan berikutnya dengan cookie sesi yang disediakan tidak akan valid karena tidak ada sesi yang cocok dapat ditemukan

Namun, saat ini selama saya tidak pernah mengubah kunci pribadi untuk menandatangani cookie, sesi akan berlaku selamanya.

Saya dapat mengatasi masalah ini dengan memiliki tanda pada objek sesi yang menunjukkan apakah sesi tersebut masih valid tetapi itu akan membuat saya secara manual harus menghapus sesi dari penyimpanan sistem file.

Meminta

Apakah mungkin menambahkan fungsi seperti filesystemStore.RemoveSession(id string) untuk membiarkan toko membersihkan sesi dari sistem file dan sesi yang dimuat dalam memori?

documentation

Komentar yang paling membantu

Mengatur sess.MaxAge(-1) dan kemudian memanggil sess.Save akan menghapus sesi: https://github.com/gorilla/sessions/blob/master/store.go#L213 -L223

Dokumen di sini: http://www.gorillatoolkit.org/pkg/sessions#FilesystemStore.Save

Simpan menambahkan satu sesi ke respons.

Jika Options.MaxAge sesi adalah <= 0 maka file sesi akan dihapus dari jalur penyimpanan. Dengan proses ini memberlakukan penanganan cookie sesi dengan benar sehingga tidak perlu mempercayai manajemen cookie di browser web.

Harapan yang menjelaskan.

Semua 3 komentar

Mengatur sess.MaxAge(-1) dan kemudian memanggil sess.Save akan menghapus sesi: https://github.com/gorilla/sessions/blob/master/store.go#L213 -L223

Dokumen di sini: http://www.gorillatoolkit.org/pkg/sessions#FilesystemStore.Save

Simpan menambahkan satu sesi ke respons.

Jika Options.MaxAge sesi adalah <= 0 maka file sesi akan dihapus dari jalur penyimpanan. Dengan proses ini memberlakukan penanganan cookie sesi dengan benar sehingga tidak perlu mempercayai manajemen cookie di browser web.

Harapan yang menjelaskan.

Penutupan - silakan buka kembali jika Anda memiliki pertanyaan!

Ingin tahu bagaimana menangani kasus dengan file sesi usang, misalnya beberapa sesi diautentikasi dalam mode pribadi browser dan kemudian, jelas, tidak akan kembali untuk keluar dan memberikan sinyal untuk penghapusan file sesi, apakah ada cara yang disarankan untuk menangani kasus seperti itu ?

Apakah halaman ini membantu?
0 / 5 - 0 peringkat

Masalah terkait

danvonk picture danvonk  ·  9Komentar

cless picture cless  ·  23Komentar

CasperHK picture CasperHK  ·  11Komentar

marksalpeter picture marksalpeter  ·  17Komentar

gtaylor picture gtaylor  ·  7Komentar