Enregistrer l'utilisateur de l'objet dans le Stockage de Session
Je suis en utilisant Angulaire 2 et Tapuscrits et voulait économiser de l'utilisateur de l'objet, comme une variable globale, de sorte qu'il n'a pas à être récupéré plusieurs fois. J'ai trouvé le stockage de session et maintenant économiser de l'utilisateur de l'objet.
Pensez-vous qu'il est de bonne pratique de stocker ou de données est trop sensible? Si oui, quel autre type de cache pourrais-je utiliser?
Voici le code que j'utilise actuellement:
de l'utilisateur.service.ts:
getProfile() {
let cached: any;
if (cached = sessionStorage.getItem(this._baseUrl)) {
return Observable.of(JSON.parse(cached));
} else {
return this.http.get(this._baseUrl).map((response: Response) => {
sessionStorage.setItem(this._baseUrl, response.text());
return response.json();
});
}
}
La getProfile() est appelée dans l'application.composant lorsque ngOnInit(). L'utilisateur de l'objet est également nécessaire dans d'autres composants de l'application.
Pourquoi ne pas utiliser le service?
Je ne utilisez un service. Je peux ajouter mon code.
Vous pouvez utiliser le stockage local qui, comme le stockage de session n'est disponible sur l'onglet en cours, mais persiste après la fermeture (vous devrez le supprimer explicitement). Plus de détails sur les différences entre les deux ici stackoverflow.com/questions/5523140/...
Je ne utilisez un service. Je peux ajouter mon code.
Vous pouvez utiliser le stockage local qui, comme le stockage de session n'est disponible sur l'onglet en cours, mais persiste après la fermeture (vous devrez le supprimer explicitement). Plus de détails sur les différences entre les deux ici stackoverflow.com/questions/5523140/...
OriginalL'auteur sanyooh | 2017-01-10
Vous devez vous connecter pour publier un commentaire.
Son ok pour secure/données sensibles dans le stockage de session.
Comme le stockage de session disponible uniquement pour la table et le domaine...
Si l'utilisateur de vérifier la même session, le stockage de données dans un autre onglet de la fenêtre, alors il ne sera pas là....donc, son stockage sécurisé....
Si vous voulez en savoir plus, veuillez regarder sur sessionStorage
OriginalL'auteur Pankaj Badukale
Vous pouvez soit utiliser
sessionStorage
ou utiliser unservice
.Votre
interface
:Votre
service
classe:Maintenant, vous pouvez injecter ce
SessionService
classe dans d'autres classeconstructors
et de l'utiliser.cela permettra de montrer indéfini jusqu'à ce que je n'utilise pas localStorage ou sessionStorage, est-il juste?
C'est un service, donc techniquement, si vous n'avez pas de régler quoi que ce soit, il ne sera pas défini... à moins qu'une valeur par défaut est définie.
mais qu'un rafraîchissement sur l'onglet navigateur va faire de ces données??? Vous pourriez nous expliquer l'utilisation de localStorage trop
Si l'utilisateur tape l'url d'un autre itinéraire, (pas en cliquant sur un routerLink), je pense que ce service sera lancé à nouveau, en signifiant que les précédentes valeurs perdues.
OriginalL'auteur Thalaivar