angulaire.js - Comment gérer la sécurité dans Angular?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 16:50:50
0
1
588

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

曾经蜡笔没有小新
曾经蜡笔没有小新

répondre à tous(1)
曾经蜡笔没有小新

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...

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal