Я знаю, localStorage поддерживает только до 5 МБ. В нашем приложении мы планируем использовать localStorage (sessionStorage не подходит для нашей потребности, поскольку мы поддерживаем несколько вкладок). В настоящее время существует только один большой объект javascript, который сериализуется и хранится в localStorage, в будущем он может превышать до 15 объектов, но определенно не более того.Поиск и очистка LocalStorage
Проблема в том, что очистка localStorage. Поскольку наше приложение позволяет пользователю вводить логин несколькими способами (SSO и т. Д.). Таким образом, без приземления на странице входа в систему они могут войти в наше приложение, а также выходить в другое приложение также будут подписаны в нашем приложении или закрыть браузер. По соображениям безопасности нам нужно очистить localStorage после завершения сеанса пользователя.
Итак, мы планировали хранить personId в localStorage, в каждом запросе страницы вместе с ответом html мы отправляем personId с сервера, а если он не совпадает с личным идентификатором localStorage, тогда он очистит localStorage.
Мое сомнение здесь, поиск в localStorage не является асинхронным, так что потребуется много времени для поиска personId из 15 ключей (у кого есть большая строка как значение)?
localStorage.setItem("personId", 1234);
localStorage.setItem("object1", "A very big serialized form of javascript object gets stored");
Вы имеете в виду, когда пользователь нажимает кнопку выхода из системы? Потому что вы не можете реагировать на сеанс. –
Что делать, если пользователь закрывает браузер, а не нажав «Выход»? – Nageswaran