cari

Rumah  >  Soal Jawab  >  teks badan

angular.js - Bagaimana untuk menangani keselamatan dalam Angular?

Bagaimanakah saya boleh menghalang pengguna daripada membuat operasi dan akses melebihi tahap pada halaman?

曾经蜡笔没有小新曾经蜡笔没有小新2781 hari yang lalu594

membalas semua(1)saya akan balas

  • 曾经蜡笔没有小新

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

    Terdapat terlalu banyak kaedah Ia bergantung pada skala projek dan reka bentuk sistem anda Jika anda ingin mengehadkan kebenaran antara muka (seperti OAuth2), anda boleh mempertimbangkan perkara berikut:

    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');
    

    Jika ia adalah kebenaran penghalaan, maka ubah suai sedikit kod di atas dan ia juga boleh dicapai dengan menilai sesi.
    Jika anda menggunakan ui-router, anda boleh mempertimbangkan untuk menambahkan ayat ini pada app.js:

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

    Anda boleh merujuk artikel lain untuk cara melaksanakan kelas Auth tertentu:
    http://blog.coding.net/blog/techniques-for-authentication-in-angular-j...

    balas
    0
  • Batalbalas