recherche

Maison  >  Questions et réponses  >  le corps du texte

angulaire.js - Comment gérer la sécurité dans Angular?

Comment puis-je empêcher les utilisateurs d'effectuer des opérations et d'accéder au-delà du niveau de la page ?

曾经蜡笔没有小新曾经蜡笔没有小新2781 Il y a quelques jours596

répondre à tous(1)je répondrai

  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-05-15 16:52:50

    Il existe trop de méthodes. Cela dépend de l'échelle de votre projet et de la conception du système. Si vous souhaitez limiter les autorisations d'interface (telles que OAuth2), vous pouvez envisager les éléments suivants :

    app.factory('authInterceptor', function($q, $cookieStore, $location) {
      return {
        request: function(config) {
          config.headers = config.headers || {};
          if ($cookieStore.get('token')) {
            config.headers.Authorization = 'Bearer ' + $cookieStore.get('token');
          }
          return config;
        },
        responseError: function(response) {
          if (response.status === 401) {
            $location.path('/login');
            $cookieStore.remove('token');
          }
          return $q.reject(response);
        }
      };
    });
    
    $httpProvider.interceptors.push('authInterceptor');
    

    S'il s'agit d'une autorisation de routage, modifiez légèrement le code ci-dessus et cela peut également être obtenu en jugeant la session.
    Si vous utilisez ui-router, vous pouvez envisager d'ajouter cette phrase à app.js :

    $rootScope.$on('$stateChangeStart', function(event, next) {
      return Auth.isLoggedInAsync(function(loggedIn) {
        if (next.authenticate && !loggedIn) {
          return $location.path("/login");
        }
      });
    });
    

    Vous pouvez vous référer à un autre article pour savoir comment implémenter la classe Auth spécifique :
    http://blog.coding.net/blog/techniques-for-authentication-in-angular-j...

    répondre
    0
  • Annulerrépondre