Autore Topic: [v9] Area riservata  (Letto 27418 volte)

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
[v9] Area riservata
« il: 05 Dicembre, 2011, 00:11:56 »
1. ORGANIZZAZIONE DELLA STRUTTURA

Gli utenti

Nelle Impostazioni Avanzate, selezionare "Gestione accessi": in questa finestra si possono impostare i permessi agli utenti che possono accedere all'area riservata.
Gli utenti inseriti nel gruppo amministratori hanno accesso a tutte le pagine impostate come protette. Inoltre hanno la possibilità di accedere, sempre tramite username e password impostate in quest'area, alla sezione admin del sito, da cui è possibile controllare le funzionalità legate al blog e al guestbook.

Nel gruppo1, proposto di default dal programma, devono essere inseriti gli utenti. Si possono organizzare anche più gruppi diversi, ma questo serve solo per visualizzare una eventuale struttura complessa, o per selezionare più velocemente utenti che possono avere accesso alle stesse pagine ... ma non hanno alcun riscontro nel file generato dal programma (access.inc.php) che contiene le impostazioni dei permessi.
Per ogni utente è possibile cambiare i parametri assegnati di default (nome dell'utente, username e password) attraverso il tasto modifica.

[ Guests cannot view attachments ]

La struttura delle pagine

Nella Mappa del sito, predisporre le pagine rendendole protette attraverso l'apposito comando presente nella barra degli strumenti. Le pagine protette possono essere visibili nel menu o nascoste. Per assegnare i permessi di accesso a ciascuna pagina, selezionare l'utente o gli utenti autorizzati a visualizzare la pagina dalla finestra pagina protetta.
[ Guests cannot view attachments ]

La pagina di ingresso

Tornare quindi ad Impostazioni Avanzate --> Gestione Accessi per impostare, per ciascun utente, la pagina di ingresso. Questa è la pagina, tra tutte le pagine riservate a cui l'utente può accedere, che l'utente visualizzerà per prima una volta effettuato l'accesso all'area riservata.
« Ultima modifica: 07 Dicembre, 2011, 18:19:26 da stesil »

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Login e registrazione
« Risposta #1 il: 05 Dicembre, 2011, 22:44:05 »
2. IL LOGIN

L'accesso alle pagine protette viene controllato da tre file: il file imlogin.php che viene richiamato ogni volta che si cerca di accedere ad una pagina, il file x5engine.php, che contiene le funzioni che gestiscono la sessione e il logout, e il file access.inc.php, in cui sono memorizzati i permessi.

Il login degli utenti può essere organizzato in due modi, in funzione della struttura dell'area riservata che è stata creata:

1. area che prevede una pagina d'ingresso comune a tutti gli utenti: in questo caso l'accesso all'area può avvenire anche tramite una voce del menu, che contiene il link verso la pagina comune. Per poter accedere alla pagina viene visualizzata la pagina imlogin.php, in cui l'utente inserisce username e password.
Questa pagina viene generata automaticamente dal programma e di essa è possibile personalizzare solo il testo in Impostazioni avanzate --> Gestione accessi --> Testo di benvenuto.

2. area che prevede pagine d'ingresso individuali: in questo caso occorre utilizzare il modulo per il login presente nell'elenco widgets dell'oggetto html.
Scelta la pagina in cui deve comparire, che non deve essere una pagina protetta, basta inserire un oggetto html (attenzione a regolare l'altezza dell'oggetto stesso) e selezionare Private Area - login.

Se invece si vuole rendere raggiungibile il modulo del login da tutte le pagine del sito, occorre posizionare un link nell'intestazione ... le possibilità di personalizzazione sono molte, ma il procedimento è un po' complesso.

Qui: http://stesil.unofficialwsx5.com/evo9/area_riservata/login-in-intestazione.html

esempio e istruzioni.

3. LA REGISTRAZIONE

Per permettere agli utenti di effettuare la registrazione all'area riservata è necessario predisporre nella mappa una pagina nascosta contenente un modulo invio e-mail con i campi necessari.

Il programma prevede l'inserimento del link "registrati" solo nella pagina imlogin.php. In Gestione Accessi --> Pagina per la richiesta di registrazione è possibile selezionare dalla mappa del sito, la pagina nascosta preparata.

Ovviamente è possibile inserire il collegamento alla pagina contenente il form per la registrazione in qualunque pagina del sito. Se si vuole che il pulsante Registrati compaia anche nel modulo per il login, occorre modificare il codice creato dal programma in questo modo (parte in rosso):

<!-- Private Area.Login: START -->
<div id="imLogin" style="width: 120px">
<form method="post" action="imlogin.php">
[....]
<div class="imLoginBlock" style="width: 100%; margin-top: 5px; text-align: left">
<input type="submit" value="Login" class="imLoginSubmit" style="border: 1px solid #ccc; background-color: #DDDDDD; font-family:Tahoma; font-size:10pt; color: #000000">
<input type="button" onclick="window.location='registrazione.html'" value="Registrati" style="border: 1px solid #ccc; background-color: #DDDDDD; font-family:Tahoma; font-size:10pt; color: #000000">
</div>
</form>
</div>
<!-- Private Area.Login: END -->

Le dimensioni del form (width: 120px) vanno controllate e va adeguato il valore, in modo che il pulsante registrati non venga visualizzato sotto il pulsante login.

La restante parte del codice è così composta:
onclick="window.location='registrazione.html'" al clic sul tasto si apre la pagina in cui è presente il form per la registrazione (personalizzare il nome)
style="border: 1px solid #ccc; background-color: #DDDDDD; font-family:Tahoma; font-size:10pt; color: #000000" sono le impostazioni di stile del bottone, di fatto copiate dal bottone per il login.


Edit: riattivato link
« Ultima modifica: 03 Agosto, 2012, 21:34:07 da stesil »

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Logout
« Risposta #2 il: 06 Dicembre, 2011, 23:10:04 »
4. IL LOGOUT

Il logout permette all'utente di uscire dall'area riservata annullando le variabili di sessione che sono state create al suo ingresso.
In Impostazioni Generali --> Modifica del Modello --> Codice HTML cliccare sul pulsante Inserisci snippet e selezionare Logout Area Riservata: il programma inserisce automaticamente il link al file logout.php, che si visualizza unicamente quando un utente è loggato all'area riservata.

Ma è un semplice link, senza alcuna formattazione. Per personalizzare questo link è possibile assegnare alcune proprietà css al tag a generato.
In head (Impostazioni Generali --> Scheda esperto)

Codice:
Only registered users can see contents. Please click here to Register or Login.
In questo modo, ampiamente personalizzabile, sono stati assegnati al link non ancora visitato (:link), visitato (:visited) e attivo (:hover) diversi valori quali un'immagine di sfondo (lock.png), precedentemente allegata nella cartella files tramite un oggetto html posto in una qualsiasi pagina del progetto, un colore al testo, la presenza o meno della sottolineatura.

Sempre qui l'esempio: http://stesil.unofficialwsx5.com/evo9/area_riservata/index.html

Nell'utilizzare la funzione logout (versione 9.0.4.1748) ho notato un'anomalia, che si verifica nel momento in cui un utente cerca di accedere per errore ad una pagina a cui non ha i permessi di accedere: anche dopo aver effettuato il logout ed effettuato nuovo login, gli viene riproposta sempre questa pagina invece che la pagina di accesso di sua pertinenza. In effetti nella funzione logout presente nel file x5engine.php vengono annullati i valori di tutte le variabili di sessione tranne quella che memorizza l'ultima pagina richiamata dal browser.

Inserendo tra le variabili di sessione da "svuotare" anche session_page al file x5engine.php (riga 1174) il comportamento sopra descritto non si verifica più:

Codice:
Only registered users can see contents. Please click here to Register or Login.
(Rispetto al file originale è stata aggiunta solo l'ultima riga della funzione)

Edit: questo problema è stato risolto nella versione 9.0.6.1775


Ho cercato di fare una sintesi rispetto ai passi da affrontare per organizzare un'area riservata.
Le personalizzazioni non sono tutte idee mie: alcune soluzioni (ad esempio l'inserimento del tasto registrati) sono state postate su Answers dagli utenti o dai tecnici di Incomedia.
« Ultima modifica: 04 Marzo, 2012, 16:23:28 da stesil »

micherosoft

  • Visitatore
Re:[v9] Area riservata
« Risposta #3 il: 27 Marzo, 2012, 17:06:27 »
Salve. Eseguito il tutto nel mio sito ma la voce logout non esce neanche dopo esser legato

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Re:[v9] Area riservata
« Risposta #4 il: 27 Marzo, 2012, 17:16:50 »
Se il sito è quello che hai linkato nell'altra discussione, nel codice sorgente della pagina il div predisposto per visualizzare il logout non c'è.

Dove lo hai inserito?

micherosoft

  • Visitatore
Re:[v9] Area riservata
« Risposta #5 il: 27 Marzo, 2012, 18:13:43 »
rimesso ma niente da fare :-\

micherosoft

  • Visitatore
Re:[v9] Area riservata
« Risposta #6 il: 27 Marzo, 2012, 18:29:45 »
se eseguo la procedura di x5 impostazioni generali, inserisco codice html,inserisco snippet logaut mi crea la scritta senza nessuna funzione

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Re:[v9] Area riservata
« Risposta #7 il: 27 Marzo, 2012, 19:09:21 »
Il logout è un link ad un file php che disconnette l'utente dall'area riservata. Per inserirlo devi utilizzare "inserisci snippet" (codice html in modifica del modello): l'inserimento da programma funziona, cioè disconnette l'utente, ma è un testo nero.

C'è poi il codice css personalizzabile, che serve unicamente per cambiare l'aspetto del logout, ma non ne altera o aggiunge alcuna funzionalità. E va inserito non nell'oggetto html ma nell'head delle pagine del sito (Impostazioni generali --> Scheda esperto)

In anteprima la scritta logout si vede sempre in tutte le pagine, ma non funziona, perchè l'area riservata diventa veramente tale solo dopo la pubblicazione online.
Sul sito online, invece, si vede solo dopo aver effettuato l'accesso alle pagine riservate.

se eseguo la procedura di x5 impostazioni generali, inserisco codice html,inserisco snippet logaut mi crea la scritta senza nessuna funzione
... cosa significa? Che cliccando sulla scritta si resta sulla pagina?


micherosoft

  • Visitatore
Re:[v9] Area riservata
« Risposta #8 il: 27 Marzo, 2012, 19:11:30 »
E una scritta senza funzione

micherosoft

  • Visitatore
Re:[v9] Area riservata
« Risposta #9 il: 27 Marzo, 2012, 19:26:51 »
Intendevo dire che ho eseguito come scritto sopra.
Mi esce la scritta logout senza funzionare neanche clicca ( provata on  line con il sito funzionante non sul mio pc).

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Re:[v9] Area riservata
« Risposta #10 il: 27 Marzo, 2012, 19:41:54 »
Mi esce la scritta logout senza funzionare neanche clicca ( provata on  line con il sito funzionante non sul mio pc).

Il file imlogout.php nella cartella res del tuo sito c'è. Il codice anche. Non hai ancora sistemato la posizione del css, come ti ho scritto qui:

C'è poi il codice css personalizzabile, che serve unicamente per cambiare l'aspetto del logout, ma non ne altera o aggiunge alcuna funzionalità. E va inserito non nell'oggetto html ma nell'head delle pagine del sito (Impostazioni generali --> Scheda esperto)
 

... ma questa non dovrebbe essere la causa dell'errore.

Senza entrare nella tua area riservata non riesco a fare altre ipotesi. Se vuoi inserire una pagina riservata e un utente di prova e scrivere qui i parametri di accesso ... e vediamo se così si capisce qualcosa di più.

Silver

  • Visitatore
Re:[v9] Area riservata
« Risposta #11 il: 27 Marzo, 2012, 23:00:52 »
mettici uno z-index maggiore del menu.

vincenzoerrico

  • Nuovo arrivato
  • *
  • Post: 2
Re:[v9] Area riservata
« Risposta #12 il: 05 Aprile, 2012, 18:01:07 »
Salve,
Nel mio sito http://www.vincenzoerrico.it avevo inserito nell'intestazione il login a tendina per l'accesso all'area riservata, come descritto qui.
ma l'ho dovuta spostare a piè di pagina in quanto nell'intestazione non mi rendeva più cliccabili le voci del menu in corrispondenza con il login a tendina, nel mio caso l'avevo posizionato in alto sopra la voce video e contatti, è possibile risolvere oppure lo devo lasciare a piè di pagina.
Grazie.

stesil

  • Anziani
  • Utente storico
  • *
  • Post: 1219
    • quellidelcucuzzolo
Re:[v9] Area riservata
« Risposta #13 il: 05 Aprile, 2012, 19:09:01 »
Ciao,

è il valore di z-index attribuito al form che impedisce di utilizzare la voce del menu immediatamente sotto di esso.

Prova a sostituire il codice javascript che hai inserito in head (Impostazioni Generali --> Esperto --> Codice personalizzato per la sezione HEAD) con questo:

Codice:
Only registered users can see contents. Please click here to Register or Login.
In pratica ho modificato la funzione in modo che al div contenente il form viene attribuito un valore di z-index maggiore di quello del menu solo quando viene visualizzato il form. Quando il form viene nascosto, il valore di z-index ritorna minore rispetto a quello del menu. E la voce sottostante resta così sempre cliccabile.

L'ho provato con FF e Chrome e funziona. Provalo anche con altri browser ... se non dovesse funzionare, si prova a cercare un'altra soluzione ...
« Ultima modifica: 05 Aprile, 2012, 19:16:13 da stesil »

vincenzoerrico

  • Nuovo arrivato
  • *
  • Post: 2
Re:[v9] Area riservata
« Risposta #14 il: 06 Aprile, 2012, 11:50:32 »
Tante grazie stesil, funziona bene.