我需要帮助。 我的Spring Oauth2安全配置仅适用于RestAPI,但不适用于加载事件的浏览器资源。
我在服务器上有两种类型的资源:开放和安全。打开文件夹中的所有内容都不需要身份验证,安全文件夹中的每个文件都需要身份验证。
---- open(home.html,HomeController.js,...) ---- secure(secure.html,secure.js,...)
home.html及其控制器中的我有登录密码表单,我调用我的httpService来验证并在cookie中保存令牌:
$("#totaldays").on("change", function(){$("#mytextfield").trigger("change")})
的HTTPService
(function(angular) {
var HomeController = function($scope, $rootScope, AppConstants, SharingService, httpService, $httpParamSerializer, $http, $state, DependencyLoaderService) {
$scope.data = {username:'', password:''};
$scope.doAdminLogin = function() {
httpService.login($scope.data, function(response){
if (response.data && response.data.error)
alert(response.data.error_description);
});
}
$scope.securedPage = function() {
$state.go('secured');
}
$scope.securedApi = function() {
var url = '/api/superadmin/getAdminProfileList';
httpService.get(url, null, false, function(response){
$scope.securedApiResponse = JSON.stringify(response);
}, function(response){
$scope.securedApiResponse = JSON.stringify(response);
});
}
};
HomeController.$inject = [ '$scope', '$rootScope', 'AppConstants', 'SharingService', 'httpService', '$httpParamSerializer', '$http', '$state', 'DependencyLoaderService'];
angular.module('todoapp.controllers').controller('HomeController', HomeController);
}(angular));
因此httpService可以拦截并从cookie中添加一个标题('Authorization:Bearer token')来获取,发布等API调用。如何让浏览器在所有导航或其他资源加载事件(如CSS,JS,HTML文件)上执行相同操作?
或者如何将默认的Spring Oauth2配置更改为不需要此标头,但是从cookie获取令牌?