У меня есть приложение angularjs с негласной страницей входа в систему. поэтому после входа в систему вы перенаправлены на угловое приложение. я установил $ httpProvider, чтобы любой запрос, который был выполнен в результате 401, перенаправит пользователя на страницу входа.сохранить информацию пользователя в кэше через приложение
тем временем, пока пользователь находится в приложении, я бы хотел, чтобы информация о пользователе была доступна для приложения в любое время. например, имя пользователя, некоторые настройки и т. д., в идеале я бы имел эту информацию до загрузки начального представления. и в идеале я бы только раздобыл эту информацию один раз.
Каков наилучший способ сделать это? я мог бы использовать службу для кэширования пользователя между контроллерами/представлениями, но как я могу настроить его так, чтобы он имел необходимую информацию до того, как пользователь будет показывать начальное представление (так как некоторые данные необходимы для отображения этого начального вида)?
Итак, вы говорите, что если вы обновите страницу, вы будете перенаправлены на страницу входа, даже если вы вошли в систему? –
no - сервер отображает приложение для всех зарегистрированных пользователей. поэтому, если вы обновляетесь, и вы все еще вошли в систему, вы останетесь в приложении. но если ваш сеанс истекает, а затем вы обновляетесь, вы будете перенаправлены на страницу входа * сервером * (тогда как запросы, которые возвращают 401, будут перенаправлены на страницу входа * клиентом *) – hackerhasid
Вы можете просто использовать сервис/завод , Служба будет выполнять запрос Ajax для извлечения данных и последующего их хранения. Услуги - это синглтоны, поэтому данные должны быть доступны между контроллерами. Это также означает, что запрос Ajax будет возникать только один раз. –