Re: Problemi con xarSecurityCheck

"marc" <[email protected]> Fri, 25 Jul 2003 16:15:20 +0200
Newsgroups gmane.comp.cms.xaraya.user.italian
Organization Xaraya News Server
Message-ID <[email protected]>
"federico luciani" <[email protected]> wrote in message
news:[email protected]
> Caro marcinmilan,
> dopo la conversione a 0.906 non mi funziona più xarSecurityCheck.
> 1) Ho definito le masks per il mio modulo a livello di xarinit
> 2) i miei utenti sono stati assegnati ai ruoli-gruppo previsti
> 3) a livello di amministrazione, il check su questi gruppi funziona nel
> modo previsto (Es. Resellers->DeleteBasket) restituisce
>
> "Test Result: Group 'Resellers'  is permitted"
>
> ma negli script xarSecurityCheck non funziona correttamente. Io non uso il
> check a livello di item singolo, per cui lo uso nella forma (ad es.):
>
> if(xarSecurityCheck('DeleteBasket', 0)) {
> ..
> }
> Con la 0.904 funzionava (restituiva TRUE). Adesso restituisce FALSE. Se
> poi uso la forma

Per essere esatto non restituisce TRUE, sino ti da l'ogetto privilege che
vince

> xarSecurityCheck('DeleteBasket', 1)
> ho come ritorno l'eccezione di "non permesso".

Con 1 il check si ferma e ti da il messagio quando il risultato e FALSE
(meglio: NULL). Con 0 restituisce NULL e continua. Il valore 0 si utilizza
per loops etc.

> Ho provato a fare un po' di echo/debug. Ma gli oggetti sono troppo
> complessi per capirci qualcosa...
> 1)Hai un'idea di cosa può essere successo ?
> 2)Come posso abilitare qualche log/debug in modo da ricostruire la storia
> di ciò che accade ? (vale in generale per xaraya: come si abilita il
> logging?)

Purtroppo non abbiamo un sistema molto evoluto di logging. Ho visto che hai
scoperto i valori debug in xarprivileges. Ecco le loro definizioni;

XARDBG_WINNOW: ti mostra i risultati del winnowing (comparazioni dei
privileges fra di loro prima di comparare con la mask). Questo passo sparira
nel futuro (non e efficiente).
XARDBG_TEST: mostra i risultati delle comparazioni fra privileges e masks
XARDBG_TEST_DENY: mostra i risultati delle comparazioni fra privileges e
masks per DENYs. Questo e un secondo passo separato nel processo di
checking.
XARDBG_MASK: definisce quali comparazioni saranno mostrate (quale mask, o
sia quale security check)