2012-04-18 11 views
5

Perché il nome "regno" viene scelto per qualcosa che sembra (almeno per me) un gruppo di vincoli di sicurezza e agli utenti cui è consentito accedere. Potrei sbagliarmi. Se lo traduco nella mia lingua madre, capisco che è un "regno, territorio". Non lo capiscoPerché il nome "realm" e "principal" nella sicurezza Java EE?

Principal: un'entità che può essere autenticata da un protocollo di autenticazione in un servizio di sicurezza distribuito in un'azienda. Un principal viene identificato utilizzando un nome principale e autenticato da utilizzando i dati di autenticazione.

E principale, che non ha senso che mai nella tounge di mia madre è ancora più difficile. Qualcuno potrebbe spiegare?

http://docs.oracle.com/javaee/6/tutorial/doc/bnbxj.html

+2

Non scendere argomento qui, ma chiama un linguaggio orientato agli oggetti e l'ambiente di runtime Java non ti infastidisce?Almeno con regni e principi posso vedere l'analogia. – mazaneicha

+0

Non ti capisco? – user626912

risposta

11

La parola "regno" è qui utilizzato come un'analogia spaziale per un set - le cose possono essere all'interno di un set o non all'interno, stesso come un regno. Un "regno" di sicurezza è un insieme tale che tutte le cose in quel set sono influenzate dalle stesse regole, ma che le cose dall'esterno di quella regione sono considerate estranee, sospette o comunque non hanno pieno accesso alle cose all'interno di quel regno.

Per capire come potrebbe funzionare, si consideri un castello medievale. Si presume che le persone all'interno del castello siano più fedeli al re delle persone esterne, quindi la sicurezza si concentra sul tenere i nemici fuori dall'entrare. All'interno del castello c'è una fortezza in cui solo i più fidati sono autorizzati e meccanismi di sicurezza (guardie e cancelli) limitare l'accesso al mastio dal resto del castello.


È possibile visualizzare termini come "domini di sicurezza" e "domini attendibili" nella documentazione di sicurezza. Questi sono altri modi per dire "regno".


Un "principale" è quello a cui può essere concessa o negata l'autorizzazione. Può essere un utente, un ruolo, una macchina, ecc. È l'entità "principale" (la prima o la prima) nella matrice dell'autorità.

"Principal" è (IIRC) correlato alla parola "principe" ed è utilizzato nel senso di qualcosa che può esercitare un'autorità significativa ma non illimitata.

La definizione citata nell'OP muddles "autenticazione" e "autorizzazione" è un errore comune. Basti pensare ai principi che esercitano il potere entro limiti che richiedono l'autorizzazione . In particolare, in Java-EE, i principal sono coinvolti in IBAC (o in uno schema correlato come RBAC) ma il termine viene utilizzato in modo più ampio nella documentazione sulla sicurezza in un modo indipendente dal fatto che l'autenticazione avvenga ma non dal fatto che l'autorizzazione avvenga.


Una possibile fonte di confusione: si potrebbe pensare un principe dovrebbe governare un principato, ma l'analogia si rompe qui. Nell'Europa feudale, forse c'era un rapporto 1: 1 tra principi e principati (una specie di regno), ma non esiste una relazione 1: 1 tra principali e reami. Un dato dominio non è necessariamente governato da alcun particolare preside.

+0

Penso di aver ottenuto la prima parte del regno, ma il preside non ne sono sicuro. Potresti per favore elaborare? – user626912

+0

Inoltre: [principal: una persona che assume un ruolo guida in qualsiasi attività] (http://dictionary.reference.com/browse/principal). – Bruno

+0

@ user626912, vedere le mie modifiche –