angular.js - Bagaimana untuk menangani keselamatan dalam Angular?
曾经蜡笔没有小新
曾经蜡笔没有小新 2017-05-15 16:50:50
0
1
585

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

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

membalas semua(1)
曾经蜡笔没有小新

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

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan