IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AngularJS Discussion :

Objet avec une propriété qui a une valeur mais retourne undefined (parfois)


Sujet :

AngularJS

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2007
    Messages : 75
    Points : 88
    Points
    88
    Par défaut Objet avec une propriété qui a une valeur mais retourne undefined (parfois)
    Bonjour,

    Je suis en train de faire un POC angularJS avec un back-end spring dont l’objectif et de tester la sécurité (un écran login public et le reste accessible que si authentifié), bref rien de exceptionnel.
    J’ai commencé sur ce tuto : https://spring.io/guides/tutorials/s...nd-angular-js/ qui contient des bugs mais une version corrigée est dispo la https://github.com/spring-guides/tut...and-angular-js et y’a même une video explicative sur youtube.

    Il y’a juste encore 1 détail que je n’arrive pas à résoudre. J’aimerais que lorsque l’on accède à l’url / il redirige vers /login si on n’est pas connecté. J’ai fait ça avec un resolve dans le $routeProvider.

    Ça marche mais c’est quand on est connecté que j’ai un comportement étrange.

    Lorsque je suis connecté et que je tape /# dans l’url, tout marche normalement. Par contre quand je ne mets que / dans l’url, c’est comme s’il n’arrivait pas à lire la propriété de mon objet $rootScope.

    Le console.dir($rootScope) affiche bien $rootScope authenticated = true, mais lorsque je fais une console.log($rootScope.authenticated) cela retourne undefined.

    Est-ce que quelqu’un peut m’expliquer cela ?

    Je mets 2 captures d’ecran, quand j’essaye localhost:8080/# (et j’ai bien true dans console.log($rootScope.authenticated) et une 2eme ou j’ai mis juste localhost:8080/ et il repond undefined.

    Je joins le JS mais je peux mettre un zip du projet si c’est necessaire.

    Merci d’avance

    Nom : angularNoDiez.JPG
Affichages : 154
Taille : 56,7 KoNom : angularWithDiez.JPG
Affichages : 118
Taille : 59,1 Ko
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Au risque de me répéter je ne pense pas que ce soit une bonne idée en terme de sécurité que se soit le code javascript qui fasse la redirection ou qui teste la sécurité.

    Pour moi c'est au serveur de le faire.
    un simple point d'arrêt dans le navigateur et une modif à la volée d'une valeur et le javascript côté client fait tout autre chose que se qui est prévu.
    de plus pour pourvoir s'exécuter il faut que tout se code soit public (accessible sans authentification).

    je pense donc que c'est au serveur de faire ce boulot. requête ver / par le client et côté serveur si authentifié envois de la page et des js associés, sinon redirection vers /login et accès à un js minimal qui ne gère que le login.

    A+JYT

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/01/2013, 13h39
  2. [WPF]Binding d'une propriété contenu dans une propriété
    Par Babas007 dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 23/11/2010, 19h51
  3. Réponses: 0
    Dernier message: 04/08/2010, 14h02
  4. Réponses: 2
    Dernier message: 08/03/2010, 15h43
  5. Réponses: 27
    Dernier message: 03/01/2008, 11h07

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo