我遇到一个函数问题,当我运行它时出现错误:
PUT http://10.10.3.20:8082/oct/activite/updateStatus/4 401()
ERROR_DESCRIPTION : "访问此资源需要完全身份验证"
这是我在春季启动后端的功能:
服务:
@Override
public boolean MajStatus(Long id) {
Activite ac = activiteRepository.findOne(id);
ac.setStateActivite(true);
activiteRepository.saveAndFlush(ac);
return true;
}
CTRL:
@Secured({"ROLE_manager","ROLE_validateur"})
@RequestMapping(value="/updateStatus/{id}", method = RequestMethod.PUT)
public boolean MajStatus(@PathVariable("id") Long id) {
return activiteMetier.MajStatus(id);
}
在前端我使用AngularJS CTRL:
$scope.MajStatus = function (index) {
var authorization = "Bearer " + $sessionStorage.get('access_token');
var config22 = {
headers: {
'Content-Type': 'application/json',
'Authorization': authorization
}
};
$scope.activiteStatus={};
$http.put(prod.url3+"/activite/updateStatus/"+index,config22)
.success(function(response){
$scope.activiteStatus = response;
$state.reload();
SweetAlert.swal({
title: 'Status expired',
text: 'I will close in 2 seconds.',
timer: 2000
});
})
.error(function(response){
$scope.data = response.statusText;
});
return $scope.activiteStatus;
};
在我的页面html:
<td ng-click="$event.stopPropagation(); MajStatus(p.idActivite)"
ng-if="p.stateActivite==false" class="hidden-xs">
<span class="label label-sm label-success">Active</span></td>
我有这个功能的问题,CRUD的其他功能工作正常,我与有ROLE_manager的用户联系。
我在后端使用“高级REST客户端”测试了该功能。它工作正常。 问题出在前端。所以,我需要你的帮助。 在此先感谢:)