在我的Angular(1.3)应用程序中,当用户导航到某个路径时,会根据用户是否经过身份验证,为a
指定的模板发出XHR请求。
我不希望未经身份验证的用户能够打开开发人员工具栏中的“网络”标签,并查看模板代码。
除非我的用户经过身份验证,否则如何为templateUrl
触发XHR请求?
我希望很明显,我并没有要求 进行身份验证。我只想询问如何在访问路线和解雇模板XHR请求之间放置一些东西。
答案 0 :(得分:1)
我使用$ cookie,在做任何请求之前检查cookie,如果存在,他会被记录,如果不存在则不记录。
用户登录后,您必须将cookie保存在系统中。
答案 1 :(得分:0)
Yon可以尝试使用可用于拦截$http
次呼叫的角度拦截器。它可以在$httpProvider
示例代码:
module.factory('myInterceptor', ['$q', 'userAsyncService', function($q, userAsyncService) {
var requestInterceptor = {
request: function(config) {
// put check on requested url if needed from config
var deferred = $q.defer();
// check for user validation here
userAsyncService.isValidUser().then(function(valid) {
if(valid) {
deferred.resolve(config);
} else {
// reject the request
deferred.reject(config);
}
});
return deferred.promise;
}
};
return requestInterceptor;
}]);
module.config(['$httpProvider', function($httpProvider) {
$httpProvider.interceptors.push('myInterceptor');
}]);