Articoli 

Aggiunta di un Ruolo in AspNuke

Inserito il 08 gennaio 2004 alle 20:16:41 da djveleno.

Le modifiche in AspNuke

Supponiamo di voler aggiungere un ruolo a quelli giÓ presenti ( User - Newser - Admin ), perchŔ, vogliamo che un nostro collaboratore sia in grado di amministrare una parte del portale a lui affidata.

Una precisazione, dopo alcuni test e qualche messagio ricevuto, l'articolo necessita di una correzione:
Nella prima modifica, Ŕ opportuno inserire il nuovo ruolo col numero assegnato al ruolo dell'ADMIN che, al momento Ŕ il 3, e all'ADMIN assegnare il 4, in modo che, il COADMIN non abbia maggiori privilegi dell'ADMIN.
Quindi il tutto diventa:
La prima modifica.
Editiamo il file consts-inc.asp nella cartella includes, e, aggiungiamo la riga:

Const ROLE_COADMIN = 3 ( o quello che vi pare....)
Const ROLE_ADMIN = 4
sotto le altre costanti dei ruoli.

La seconda modifica.
Editiamo il DB MAIN, apriamo la tabella ROLES e, posizioniamoci all'ultimo record, che Ŕ vuoto, aggiungiamo quanto segue:

Nel campo rTitle scriviamo Coadmin ( come il nome della costante che abbiamo aggiunto nel file consts-inc.asp )
Nel campo rDescription scriviamo ( Can edit Articles ) se vogliamo che il nostro Coadmin possa scrivere articoli, o, quello che pi¨ ci pare utile.
Nel campo dell'ADMIN che adesso Ŕ il 3, modifichiamo in COADMIN e nel campo che abbiamo aggiunto, modifichiamo in ADMIN ( modifichiamo anche la descrizione ), in modo da invertire i ruoli.

Editiamo la tabella Users e, individuato il record corrispondente al nostro e controlliamo che abbiamo ancora il ruolo di ADMIN, se risultasse COADMIN, un click sul campo e scegliamo ADMIN, per il collaboratore, posizioniamoci nel campo uRole, un click del mouse e apparirÓ un men¨ di scelta dove, sceglieremo appunto COADMIN, salviamo e chiudiamo il DB.

Ora, il ruolo lo abbiamo creato, rimangono da modificare tutti i files non riguardanti la scelta fatta, ovvero, il nostro collaboratore che cosa potrÓ fare? Abbiamo scelto di dare accesso alla scrittura degli articoli, quindi questo vuol dire che non pu˛ avere accesso ad altre parti del portale, almeno come amministratore, quindi, Ŕ necessario che, il nuovo ruolo non possa aprire, dal men¨ admin, nessuna parte del portale a lui interdetta.

Per impedire che il nostro collaboratore possa combinare qualche pasticcio, dobbiamo inibire l'accesso ai files richiamati dal men¨ di amministrazione, eccetto quello che riguarda il suo "lavoro", per cui, dobbiamo editare tutti i files presenti nella cartella INCLUDES/ADMIN, inserendo una clausola che impedisca a lui e ad ogni altro utente di penetrare nell'area di amministrazione, la clausola Ŕ la seguente:

If iRole <= ROLE_COADMIN or sPseudo = "" Then
Set oLangXML = Nothing
Response.Redirect GLOBAL_SITE_PATH & "Default.asp"
Response.End
End If

Che significa:
Se il ruolo Ŕ uguale o minore a Coadmin o il login Ŕ vuoto, allora (then) ti rimando alla pagina di Default. (In pratica... mi vuoi fregare....io ti butto fuori), Ŕ anche possibile creare una pagina semplicissima in cui inserire la classica scritta: Non hai il ruolo richiesto!!! Clicca sul bottone indietro del tuo browser. O altre amenitÓ del genere....
La clausola va inserita in ogni file, come spiegato prima, ma dove esattamente va inserita? Ecco un esempio:

<%
If iRole <= ROLE_USER or sPseudo = "" Then
Set oLangXML = Nothing
Response.Redirect GLOBAL_SITE_PATH & "Default.asp"
Response.End
End If

' Display database page
' IN : -
' OUT : -
Sub DisplayAdminDatabase()
Dim oCn, oRs, rSQL, iLine, X, sSelectMain, sSelectForum

CreateTopTable "SQLQuery", GetTranslation("LANG_DATABASE")

Select Case Request.Form("database")

Questo Ŕ l'inizio del file /INCLUDES/ADMIN/database-inc.asp, dopo l'introduzione commentata di AspNuke, quindi, la clausola, va inserita appena dopo il TAG di apertura del codice ASP e prima dell'inizio del codice vero e proprio.

Ultima modifica, necessaria ed importante, editate il file pmessage-inc.asp, ed inserite la costante per far ricevere i messaggi privati al vostro COADMIN:

Const SITE_MAX_COADMIN_MESSAGES = 75

Spero di essere stato abbastanza chiaro nell'esporre questo articolo, per ogni chiarimento, rimango a disposizione nel forum.
Ciauzz DJ

Commenti

9 Commenti - 5/5 - Voti : 7
Inserito il 09 gennaio 2004 alle 15:45:10 da nextart.  5/5
 
GRANDE!!!!!
VISTI I MESSAGGI SUL FORUM FARAI CONTENTA MOLTA GENTE!!!!!
COMPLIMENTI.

ps: lo devo ancora testare, xo' sono sicuro che funzioner&#224;!!!!

Ciao
Inserito il 09 gennaio 2004 alle 19:01:44 da Anonimo.  5/5
 
l'ho sempre detto: dj &#232; un grande!!!!
Inserito il 09 gennaio 2004 alle 22:34:50 da Anonimo.  5/5
 
MITICO!!!!!!!!!!!!!!

grazie dj!
Inserito il 10 gennaio 2004 alle 19:45:03 da pamed.  5/5
 
Gran bel lavoro DJ...Sei esemplare nel far capire le cose..A quando un tuo libro intero su AspNuke?
Inserito il 13 gennaio 2004 alle 20:11:55 da edding.  5/5
 
MA L0L !!!! MA QUANTO SN INTELLIGENTE CON I MIEI QUESITI ?? ; il bello &#232; ke glil'ho kiesto io !!!
Inserito il 22 aprile 2004 alle 19:45:28 da riccardoq.  5/5
 
Scusate ma ho montato come descritto e parecchi altri mod ,,, e ricontrollati e ricontrollati ma ci sono sempre degli errori gli unici mod funzionanti sono il Time ed il Login , ma li ho dovuti togliere per ragioni mie . domando ::: non &#232; che la barra del televideo influenza su questi mod? sul mio PWS ho dovuto togliere il televideo per far aprire in poco tempo per poi rimetterla in rete e corregerla dal pannello del provvider . qualche consiglio in merito ?? Grazie
Inserito il 19 giugno 2004 alle 16:10:31 da bricke.  5/5
 
Posso suggerire un controllo che a mio parere pu&#242; essere posizionato in un luogo pi&#249; esatto:

All'interno di un file dentro la cartella admin toverete il seguente controllo:

If IsAuthorized(ROLE_ADMIN)

Quindi &#232; sufficente modificare e mettere al posto di ROLE_ADMIN ROLE_COADMIN all'interno delle pagine che volete far amministrare al'utente.

Seconde me cos&#236; &#232; pi&#249; facile da gestire e pi&#249; corretto.

Cosa ne dici djveleno?
Inserito il 21 giugno 2004 alle 08:49:03 da djveleno.  0/5
 
Si, pu&#242; essere una strada pi&#249; breve, ad esempio, puoi far amministrare i banners, editando il file/admin/advertising.asp, inserendo al posto di ROLE_ADMIN, ROLE_COADMIN, credo che il risultato sia identico, sarebbe da testare, per vedere poi quali modifiche di quanto descritto nell'articolo rimangono necessarie e quante non lo sono pi&#249;.
Ciauzz dj
Inserito il 04 luglio 2004 alle 22:34:41 da bricke.  0/5
 
C'&#232; un ultima modifica da effettuare se modificate i permessi nella pagina includespMessage-inc.asp Questo perch&#232; altrimenti un utente con un nuovo ruolo non pu&#242; ricevere messaggi privati.

Alle righe 221 e 592 c'&#232; un select case dove controlla i ruoli. Li va modificato rispettivamente cos&#236;:

Select Case iRole
Case ROLE_ADMIN :
Response.Write SITE_MAX_ADMIN_MESSAGES
Case ROLE_POWER
Response.Write SITE_MAX_ADMIN_MESSAGES
Case ROLE_NEWS :
Response.Write SITE_MAX_READER_MESSAGES
Case ROLE_USER :
Response.Write SITE_MAX_USER_MESSAGES

Select Case iUserRole
Case ROLE_ADMIN :
iNbMsgMax = SITE_MAX_ADMIN_MESSAGES
Case ROLE_POWER :
iNbMsgMax = SITE_MAX_ADMIN_MESSAGES
Case ROLE_NEWS :
iNbMsgMax = SITE_MAX_READER_MESSAGES
Case ROLE_USER :
iNbMsgMax = SITE_MAX_USER_MESSAGES
End Select

Aggiungi - Commenti

Login Anonimo
Messaggio
[b] [i] [u] [s] [url] [img] [cit]
Codice di sicurezza
Vota! / 5

Log in

Login
Password
Memorizza i tuoi dati:

Cerca

 

Sostieni AspNuke

Un piccolo gesto per aiutarci a mantenere AspNuke.it online

Promo

MusicWebItalia.it
Video Testi Traduzioni Spot Colonne sonore Accordi e Spartiti gratis.

Visitatori

Visitatori Correnti : 95
Membri : 0 offline Anna

Iscritti

 Utenti: 18943
Ultimo iscritto : glauco
Lista iscritti
Messaggi privati: 3373 Commenti: 2820 Immagini: 39 Downloads: 144 Articoli: 49 Pagine: 101 Siti web: 425 Notizie: 180 Sondaggi: 11 Preferiti: 2300007 Post sui forum: 51195 Libro degli ospiti: 4 Eventi: 7

Versioni

Temi