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 : 102
Membri : 0 offline Anna

Iscritti

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

Versioni

Temi