Visualizzazione dei risultati da 1 a 7 su 7
  1. #1

    Gestione del menu di navigazione

    Salve forum,
    vi scrivo per chiedere un parere sulla seguente richiesta

    Ho creato un cms da tempo e vorrei modificare la gestione del menu di navigazione di quest'ultimo. Mi spiego meglio in questo momento il menu si compone in base a delle attivazioni associate all'utente per esempio si logga pippo con il modulo x e modulo y si devono visualizzare solo queste due voci.

    Secondo voi come potrei gestire questo aspetto? soprattutto a livello di db

    Grazie a tutti

  2. #2
    a livello di db:

    tu hai i moduli; ogni modulo avrà delle funzioni; tu hai voci di menu; associ voci di menu a funzioni di moduli (o moduli interi, dipende); tu gestisci in qualche modo i permessi utente; assegni all'utente i permessi per usare il modulo.

    a livello di sito:

    sapendo che l'utente può usare il modulo X, ti ripeschi le voci di menu in base ai permessi dell'utente


    una cosa simile dicevi?
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    In questo momento non esiste una tabella vera e propria per la sezione moduli ma esiste una tabella permessi con modulox si o no moduloy si o no e in base al si e al no viene visualizzato nella navigazione.

    Visto che è un pò brutale come gestione volevo migliorare questo aspetto

    Comunque si una cosa simile a quello che hai detto

  4. #4
    Originariamente inviato da simone.marchese
    In questo momento non esiste una tabella vera e propria per la sezione moduli ma esiste una tabella permessi con modulox si o no moduloy si o no e in base al si e al no viene visualizzato nella navigazione.

    Visto che è un pò brutale come gestione volevo migliorare questo aspetto

    Comunque si una cosa simile a quello che hai detto
    Beh tu devi modellare i moduli, poi se vuoi molta granularità nell'associazione dei permessi devi modellare anche le funzionalità dei moduli. Detto questo Tu dovrai associare l'utente o il profilo dell'utente (o entrambi) ai moduli o alle funzioni e creare quindi una tabella di permessi (dove i moduli/funzioni sono le righe della tabella, non le colonne come forse è ora). Fatto questo modelli le voci del tuo menu nel db e le associ con i moduli/funzioni. Fatto questo, sapendo che l'utente A può usare il modulo X, sai che hai le voci di menu N,M,O associate a quel modulo e quindi le mostri...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    In questo momento la tabella è permessi
    id idUser Moudulo x Modulo y Modulo z
    1 10 si si no

    E da qui vado a verificare la persona collegata e verifico i vari moduli attivi.

    Te hai detto che devono essere le righe e non le colonne ovvero?

  6. #6
    Originariamente inviato da simone.marchese
    In questo momento la tabella è permessi
    id idUser Moudulo x Modulo y Modulo z
    1 10 si si no

    E da qui vado a verificare la persona collegata e verifico i vari moduli attivi.

    Te hai detto che devono essere le righe e non le colonne ovvero?
    mah una cosa simile:

    codice:
    Tabella Utente:
    
    id, nome, ...
    
    Tabella Moduli:
    
    id, nome
    
    Tabella Menu
    
    id, parent_id, url, label
    
    Tabella Permessi:
    
    id, id_utente, id_modulo
    
    Tabella Menu->Modulo
    
    id, id_menu, id_modulo

    Per non parlare di una soluzione più complessa:

    codice:
    -- Tabella Utente
    id, username
    
    -- Tabella "Risorse"
    
    id, type
    
    -- Tabella Moduli
    
    id PK, name, Foreign key (id) references resources(id) on delete cascade on update cascade
    
    -- Tabella Funzioni
    
    id PK, name, module_id FK, Foreign key (id) references resources(id) on delete cascade on update cascade
    
    -- Tabella Menu
    
    id, parent_id, url, label
    
    -- Tabella Menu -> Risorse
    
    id, resource_id, menu_id
    
    -- Tabella Permessi (Utenti->Risorse)
    
    id, user_id, resource_id
    dove c'è da notare che moduli e funzioni sono sottotipi di Risorsa in maniera che continui ad avere sempre una sola tabella di collegamento con gli utenti per definire i permessi...



    ovviamente è inteso che se esiste questa riga:

    id, id_utente_A, id_modulo_X

    allora l'utente A può vedere il modulo X, altrimenti no
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  7. #7
    Perfetto non potevi fare di meglio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.