Hai, terima kasih pertama untuk paket ini, sangat mudah digunakan.
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:
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.
Apakah mungkin menambahkan fungsi seperti filesystemStore.RemoveSession(id string)
untuk membiarkan toko membersihkan sesi dari sistem file dan sesi yang dimuat dalam memori?
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 ?
Komentar yang paling membantu
Mengatur
sess.MaxAge(-1)
dan kemudian memanggilsess.Save
akan menghapus sesi: https://github.com/gorilla/sessions/blob/master/store.go#L213 -L223Dokumen di sini: http://www.gorillatoolkit.org/pkg/sessions#FilesystemStore.Save
Harapan yang menjelaskan.