Closed JuanCamiloMartinezLopez closed 4 months ago
Se inicio con la actividad, No se pudo aplicar a todas las rutas como se deseaba debido a la falta de certeza sobre los roles con permisos en otras rutas, ya que algunos usuarios no tienen roles asignados.
Token perosnal: } Token Pruebas:
Se eliminaron variables de entorno de nuxeo. en environment, environment_test y environment_prod
Para la protección de rutas se propone , crear servico para obtener lo roles del token y así dar acceso las rutas;
angular.module('contractualClienteApp').factory('RoleCheckService', ['$location', '$q', 'token_service', function($location, $q, token_service) {
var RoleCheckService = {};
RoleCheckService.checkRole = function(roles) {
var deferred = $q.defer();
var playLoad = token_service.getPayload();
var userRoles = playLoad.role;
if(!playLoad || !playLoad.role){
$location.path("/");
deferred.reject();
return deferred.promise;
}
var hasPermission = roles.some(function(role) {
return userRoles.includes(role);
});
console.log("Has Permission:", hasPermission);
if (hasPermission) {
deferred.resolve();
} else {
$location.path('/');
deferred.reject();
}
return deferred.promise;
};
return RoleCheckService;
}]);
.when("/seguimientoycontrol/tecnico/historico_pagos", {
templateUrl: "views/seguimientoycontrol/tecnico/historico_cumplidos.html",
controller: "HistoricoCumplidosCtrl",
controllerAs: "HistoricoCumplidos",
resolve: {
checkRole: ['RoleCheckService', function(RoleCheckService) {
return RoleCheckService.checkRole([
"ORDENADOR_DEL_GASTO",
"SUPERVISOR",
"CONTROL_INTERNO"
]);
}]
}
}
angular.module('contractualClienteApp')
.factory('NavigationService', ['$rootScope', function($rootScope) {
var internalNavigation = false;
$rootScope.$on('$routeChangeSuccess', function(event, current, previous) {
internalNavigation = true;
});
console.log("Se ejecutoEl service");
function checkNavigation() {
return internalNavigation;
}
return {
checkNavigation: checkNavigation
};
}]);
.when("/seguimientoycontrol/tecnico/historico_pagos", {
templateUrl:
"views/seguimientoycontrol/tecnico/historico_cumplidos.html",
controller: "HistoricoCumplidosCtrl",
controllerAs: "HistoricoCumplidos",
resolve: {
checkNavigation: ['NavigationService', '$location', function(NavigationService, $location) {
if (!NavigationService.checkNavigation()) {
$location.path('/');
}
}]
}
})
feat: Eliminación de variables de Nuxeo en environment.js y environment_test.js
Se eliminaron las variables de Nuxeo en los archivos environment.js y environment_test.js.
@stevencol Buen trabajo.
Se requiere realizar los siguientes ajustes resultantes de las pruebas de carga y seguridad:
Sub Tareas
Criterios de aceptación
Requerimientos
No aplica
Definition of Ready - DoR
Definition of Done - DoD - Desarrollo