Bonjour,

actuellement j'ai une application qui possède 3 types d'utilisateurs différents, je souhaite afficher un menu particulier a chacun d'eux et bloquer certaines pages de ce fait.

Pour l'instant je procède ainsi:

Service de connexion:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
auth.$onAuth(function(authData) {
 
		if(authData) {      
      angular.copy(authData, Auth.user);
      Auth.user.profile = $firebaseObject(ref.child('profileExt').child(authData.uid));
 
		}
Ici je stocke les infos de profile dans un object firebase.
Ces informations sont disponible tout au long de la navigation de l'utilisateurs, tant qu'il ne détruit pas sa "session".

A chaque changement de route je demande:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 .when('/activite-en-cours/:aid', {
        templateUrl: 'views/activite-en-cours.html',
        controller: 'EncoursCtrl',
        resolve: {
          currentAuth: function(Auth) {
            return Auth.requireAuth();
          }
        }
      })
Qui correspond a:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 requireAuth: function() {
      return auth.$requireAuth();
    }
Dans mon menu:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
  $scope.status=Auth.user.profile.status;
Je récupère dans le scope le status de l'utilisateur actuel (je devrais d'ailleurs voir pour récupérer avec une promise cette information), pour ensuite filtre dans mon html avec des ng-if
Code : Sélectionner tout - Visualiser dans une fenêtre à part
<li ng-if="status==='Prestataire'"><a href="#/message">Message</a></li>
Le soucis c'est le rafraîchissement des pages, si l'utilisateur fait un F5, alors l'application perd le status et n'affiche plus le bon menu.
Comment faire pour faire un système propre, permettant le bocage de certaines pages, et l'affichage du menu personnalisé.

Merci