Come chiamare qualcosa che può essere sia un utente che un gruppo di utenti? [chiuso]

1

La mia idea è, per creare una classe astratta / interfaccia che può essere estesa in un utente, e in un gruppo di utenti.

In realtà esiste una buona ragione per l'esistenza di questa interfaccia che collega i gruppi con gli utenti in quanto le uniche differenze tra un utente e un gruppo è che è possibile accedere come utente e non è possibile come gruppo e che un il gruppo può contenere più utenti o gruppi. Permessi e cose vengono gestiti senza prendere in considerazione che si tratta di un utente o di un gruppo.

    
posta Jeroen Bollen 11.08.2013 - 20:05
fonte

3 risposte

8

In sicurezza del computer, utenti e gruppi sono indicati come Principali .

Security principals include the following:

  • Any entity that can be authenticated by the system, such as a user account, a computer account, or a thread or process that runs in the
    security context of a user or computer account.
  • Security groups of these accounts.
    
risposta data 11.08.2013 - 21:01
fonte
0

Probabilmente la risposta più pulita è usare la composizione.

Avere una classe per il gruppo. Avere un metodo su un utente che fornisce al gruppo un elemento che è l'utente. Consenti a un gruppo di essere incluso in un altro. L'inclusione è una relazione transitiva, implementata tramite ricorsione, che puoi accelerare in fase di esecuzione memorizzando nella cache il fatto che il gruppo X è o non è incluso nel gruppo Y. Aggiungi l'utente a un gruppo includendo il gruppo dell'utente nell'altro gruppo .

E ora non hai mai bisogno di avere un metodo che possa accettare un utente o un gruppo. Qualsiasi metodo dato accetta un utente e fa cose che un gruppo non può fare, o accetta il gruppo che puoi ottenere dall'utente.

    
risposta data 11.08.2013 - 21:18
fonte
-2

"EndUser" potrebbe essere? Ho pensato che potesse essere un nome per un gruppo di persone legate al gruppo o al singolo utente, che tutti "usano alla fine"

    
risposta data 11.08.2013 - 21:02
fonte

Leggi altre domande sui tag