Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    Area interna differenziata per login

    Ciao.
    Devo realizzare un'area interna, alla quale possono accedere diverse tipologie di utenti:
    - amministratore sistema
    - utenti affiliati
    - utenti registrati
    che vedono, una volta loggati, aree differenti (alcune possono anche essere comuni).
    Ho pensato di realizzare la cosa così:

    un db con tabella per utenti, ruoli e funzioni (con tabelle di collegamento RuoliUtenti, RuoliFunzioni).
    Area riservata per diversi utenti assegnati a diversi ruoli che vedono quindi diverse funzioni.

    Il problema principale sta nella visualizzazione del menù.
    Una volta loggato devo mostrare all'utente solo le voci del menù (funzioni) che gli sono abilitate.
    Dato che vorrei riportare il menù su tutta l'area interna (colonna fissa sulla sinistra) pensavo di includere tale file nelle varie pagine (menu.asp) e all'interno mettere la select che mi recupera le varie funzioni abilitate per il SessionID dell'utente loggato.

    Così però ad ogni cambio pagina viene rifatta la query sul DB per controllare le funzioni abilitate... è il modo migliore o magari ce ne sono altri più validi che non mi vengono in mente?

    Grazie.

    p.s.: se questo argomento è stato già trattato vi prego di segnalarmi dove (non l'ho trovato ). grazie.

  2. #2
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    siccome i livelli sono 3 io direi di procedere in un modo diverso..
    allora nel db cè il nome utente la passoword le info personali e il livello che puo essere 1,2, o 3 a quel punto con una funzione quando crei la session non ti segni il nome del'utente ( o l'id) ma il livello...
    poi fa una cosa del tipo:

    if livelloUser="1" then
    response.write("ecco un pezzo di menu che tu puoi vedere")
    end if


  3. #3
    Se ho ben capito quello che mi dici tu, non penso vada bene.

    1. i livelli che ho riportato sono 3, ma forse potrebbero essere di più --> ma questo non sarebbe un problema anche con la tua soluzione
    2. fare il controllo che dici tu, mi crea un problema: stessa categoria di utenti (ruolo) mettiamo che possa vedere la voce di menù "gestione appuntamenti"... se non mi tengo chi è l'utente loggato (quindi con l'id utente) non so quale informazioni fargli vedere (dovrà vedere i suoi appuntamenti) --> anche qui risolvibile con il passaggio oltre al livello dell'id utente
    3. così facendo le voci del menù (corrispondenti alle mie funzioni) sono cablate nella pagina (menu.asp), quindi se voglio aggiungere una funzione, devo intervenire sulla pagina con il menù...
    4. c'è anche qualcos'altro che non mi suona bene, ma non so cosa!

    Tu che mi dici?

  4. #4
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    dunque io non ti dico di non memorizzarti l'id dell'utente per fare evenutuali operazioni sul database, ma semplicemtente di limitare tutte le parti che devono essere visibili solo a determinati tipi utenti tramite quel metodo che fidati è quello che si usa di solito

  5. #5
    Ma se io ho:

    utente1 --> ruolo1
    utente2 --> ruolo2
    utente3 --> ruolo3

    ruolo1 --> funzione1, funzione2
    ruolo2 --> funzione3, funzione4
    ruolo3 --> funzione1, funzione4

    a questo punto io, nel tuo modo, avrei:

    utente1 --> livello1
    utente2 --> livello2
    utente3 --> livello3

    però non mi funziona come vorrei io! in quanto di fatto l'utente2 non deve avere tutte le funzioni dell'utente1 + funzioni utente2, e così via... (ecco cos'era l'altra cosa che non mi tornava prima! )

    Spero di essermi spiegato... nel tuo modo una situazione così come la risolveresti?

    Grazie.
    Ciao.

  6. #6
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    ruolo1 --> funzione1, funzione2
    ruolo2 --> funzione3, funzione4
    ruolo3 --> funzione1, funzione4

    i ruoli sono cmq 3 che differenza cè?
    ma cosa intendi per funzioni?

  7. #7
    Se ho ben capito quello che intendi tu, per te la cosa funzionerebbe così:

    voci di menù:
    voce1
    voce2
    voce3
    voce4
    voce5

    utente1 --> livello1 --> vede voce1 e voce2
    utente2 --> livello2 --> livello1 + voce3 e voce 4
    utente3 --> livello3 --> vede livello1 + livello2 + voce5

    Giusto?

    (Per me le funzioni corrispondono alle voci del menù)

    Quello che dicevo io è che se:
    utente1 --> livello1 --> vede voce1 e voce2
    utente2 --> livello2 --> livello1 + voce3 e voce 4

    utente3 --> livello3 --> vede voce1 + voce3 + voce5

    ... forse però ho sbagliato io...
    mi spiego...

    tu dici nel db di mettere:
    Tabella UTENTI
    Login
    Psw
    Livello (dove livello conterrà 1, 2 o 3 in questo caso)

    Ora, nella pagina del menù io dovrei mettere, per una stessa voce di menù (mettiamo "Gestione News", associata a 2 livelli:

    if livelloUser="1" then
    response.write("Gestione News")
    end if
    if livelloUser="2" then
    response.write("Gestione News")
    end if
    (o con un case o con un solo if con i due valori)

    L'alternativa potrebbe essere quella di dire
    if livelloUser < 3 then
    response.write("Gestione News")
    end if

    però così mi sembra una cosa infattibile...
    riempirei la mia pagina di condizioni, tutte simili, e poi non è una cosa dinamica (se agiungo una nuova voce di menù devo aggiungere un IF nella pagina, se levo "Gestione News" al livello2 devo levare la condizione nella pagina...)...

    Dimmi te se mi sto incartando con i miei pensieri, se non ho capito come intendi tu sta cosa, o se effettivamente come metodo sembra anche a te poco smart!


  8. #8
    Utente bannato
    Registrato dal
    Jun 2004
    Messaggi
    1,854
    dunque mi sto incartando anche io
    poniamo di avere un menu a tendina sulla sx cosi:

    news
    ----visualizza news
    ----aggiungi la tua news
    ----elimina news

    articoli
    ----visualizza articoli
    ----aggiungi la il tuo articolo
    ----elimina un articolo

    Gestione utenti
    ---visualizza tutti gli utenti
    ---aggiungi un utente
    ---elimina un utente

    ok?
    poniamo che tu voglia avere 3 livelli differenti(ma che possono anche essere 20 per dire)

    il livello 1 è autorizzato a fare solo 3 cose ovvero
    ----visualizza news
    ----visualizza articoli
    ----visualizza tutti gli utenti

    percui nel menu ci sarà un istruzione
    if userlivello="1" or userlivello="2" or userlivello="3" then
    e quindi tutte e 3 le tipologie di utenza potranno fare quelle tre cose...
    mentre


    ----aggiungi la tua news
    ----aggiungi la il tuo articolo
    ----aggiungi un utente

    sarà ad esempio

    if userlivello="2" or userlivello="3" then
    per cui solo 2 3 potranno fare le operazioni richieste...

    ----elimina news
    ---elimina un utente

    lo potranno vedere solo i livello 3

    naturalmente la puoi mettere come vuoi questo è solo un esempio


  9. #9
    Già, ma come vedi anche tu dal tuo esempio, viene fuori una pagina piena di IF e come cambio una assegnazione devo andarmi a ricercare l'IF e modificare a mano nella pagina.... brutta sta cosa!!!!!!

    Anche per questo cercavo un modo migliore per fare sta cosa... ma sembra che nessun'altro ci venga in aiuto!


  10. #10
    io ho un sistema di amministrazione per il mio sito simile e si basa su dei flags stile IRC.

    Se conoscete il mondo irc sapete che ogni utente (o ogni canale) ha una serie di flag di un carattere (case sensitive) che gli danno poteri e caratteristiche.

    Il concetto si basa su 3 tabelle. Nella prime memorizzo le sezioni del sito con relativo flag.

    Nella seconda memorizzo gli account degli amministratori.

    Nella terza assegno le flag ad ogni admin. è sufficiente in una pagina controllare che la stringa di flag dell'amministratore (salvata in sessione) abbia la flag corrispondente della sezione che vuole aprire oppure dare un errore.

    Alcune di qst flag saranno superiori e quindi gli utenti che le avranno potranno godere di tutti i privilegi.

    E' un sistema molto versatile che ti consente di aggiungere una flag nuova ogni volta che hai bisogno di una sezione nuova. Le possibilità che hai x i tuoi utenti diventano pressapoco illimitate. Non so se può fare al caso tuo, io t ho dato un indizio!
    I dilettanti costruirono l'Arca, i professionisti il Titanic!

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 © 2026 vBulletin Solutions, Inc. All rights reserved.