fix(auth): restringe workshop/mecanico solo por servidor y cookie
- Elimina el script inline que redirigia a todos los usuarios. - auth_bp.py: la respuesta de login ahora setea cookie pos_role. - app.py: before_request redirige a /pos/workshop solo cuando la cookie indica rol workshop/mechanic (no depende de JS cacheado). - login.js/login.min.js/app-init.js: sincronizan/limpian la cookie pos_role junto con el token en login y logout. Tests: 35 passed
This commit is contained in:
@@ -28,20 +28,7 @@
|
||||
.meli-config-row { display:flex;gap:var(--space-4);flex-wrap:wrap;margin-bottom:var(--space-4); }
|
||||
.meli-config-row label { display:block;font-size:var(--text-caption);color:var(--color-text-muted);margin-bottom:4px; }
|
||||
.meli-config-row input, .meli-config-row select { padding:8px 12px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-0);color:var(--color-text-primary); }
|
||||
</style>
|
||||
<script id="workshop-mechanic-redirect">
|
||||
(function(){
|
||||
var t=localStorage.getItem("pos_token");
|
||||
if(!t)return;
|
||||
try{var p=JSON.parse(atob(t.split(".")[1]));var r=(p.role||"").toLowerCase();
|
||||
if((r==="workshop"||r==="mechanic")&&window.location.pathname!=="/pos/workshop"){
|
||||
if("serviceWorker" in navigator){navigator.serviceWorker.getRegistrations().then(function(rs){rs.forEach(function(reg){reg.unregister();});});}
|
||||
window.location.replace("/pos/workshop");
|
||||
}
|
||||
}catch(e){}
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
</style></head>
|
||||
|
||||
<body>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user