Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Amministrazione spazio

  1. #1

    Amministrazione spazio

    Buon giorno e complimenti per il Forum.
    Sono Igor, vorrei porre questo quesito.
    Ho un sito in ASP , e posso dare ad utenti che lo chiedono uno spazio.
    Questo spazio è fatto con un pacchetto content manager CMS, che può dar modo agli utenti di fare upload delle immagini, testi ecc. ecc. senza conoscere una riga di codice, ed è molto comodo per me, perchè basta copiare il contenuto della directory rinominandola (esempio: spazio1 in spazio2) rinominando anche il database ovviamente (è in access), e gli utenti possono, entrando con username e password gestirsi il proprio spazio.
    Problema:
    L'utente spazio1 entra nel suo spazio autenticandosi e l'accesso è ok.
    Se l'utente spazio1 va nelle pagine dello spazio2, può modificarle ! Perchè è riconosciuto come admin. (ovviamente l'utente spazio2 può fare l'opposto oppure su altre pagine di spazio3 spazio4 ecc. ecc.).

    Il file per il controllo della sessione dovrebbe essere checksession.asp presente in ogni spazio che ricopio e contiene:

    <%
    If Session("loginID") = "" Then
    Response.Redirect("/?message=not_logged_in")
    else
    LoginID = Session("LoginID")
    end if
    %>

    Invece il file login_action.asp che segue, si occupa dell'azione del processo di login.

    Nel mio caso la tabella è: Logins.
    I campi dentro la tabella sono: email è l'user ID (esempio: spazio1) , e mynumber è la password (esempio: passdispazio1).


    <%'option explicit%>
    <meta http-equiv="expires" content="0">
    <%
    ' Intercept all exceptions to display user-friendly error
    'On Error Resume Next

    if Request.Form("email") = "" then
    Response.Redirect("confirm.asp?l=email_blank")
    elseif Request.Form("mynumber") = "" then
    Response.Redirect("confirm.asp?l=password_blank")
    End If

    Dim whtRS, FormLogin, FormPwd, LoginID, DateCode, CookieCode, filespace, filepath, logincount, whtSQL
    'set variables from form
    FormLogin = Request.Form("email")
    FormLogin = replace(FormLogin,"'","''")
    FormPwd = Request.Form("mynumber")
    FormPwd = replace(FormPwd,"'","''")
    %>

    <%
    'create instance of recordset, and run query
    Set whtRS = Server.CreateObject("ADODB.RecordSet")
    whtSQL = "Select ID, email, logincount, logindate, passchange FROM Logins where active = 2 and email = '" & FormLogin & "' and mynumber = '" & FormPwd & "';"
    'Response.Write whtSQL
    whtRS.Open whtSQL, whtConn, 1,3

    'run login or return to login page
    if not whtRS.eof then
    dim email
    LoginID = whtRS("id")
    email = whtRS("email")
    passchange = whtRS("passchange")
    Session("LoginID") = LoginID
    Session("email") = email
    session("passchange") = passchange
    logincount = whtRS("logincount")
    whtRS("logincount") = (logincount + 1)
    whtRS("logindate") = date
    whtRS.Update

    'SET Cookie for email
    if request.form("rememberme") = 1 then
    Response.Cookies("email") = email
    Response.Cookies("email").Expires = Date + 14
    end if

    else
    whtRS.Close
    Set whtRS = Nothing
    whtConn.Close
    Set whtConn = Nothing
    Response.Redirect("confirm.asp?l=incorrect_login_o r_password")
    End if

    'close connections,etc..
    whtRS.Close
    Set whtRS = Nothing
    whtConn.Close
    Set whtConn = Nothing

    'final redirect
    Response.Redirect appurl & "/admin/default.asp"
    %>



    Okay it worked!</p>


    Come posso fare per rendere ogni spazio amministrabile dal proprio amministratore ?
    www.nomesito.info/spazio1/ lo amministra spazio1
    www.nomesito.info/spazio2/ lo amministra spazio2
    www.nomesito.info/spazio3/ lo amministra spazio3
    ecc. ecc.
    Potete suggerirmi una modifica dei files allegati che mi permetta di
    fare vari livelli di amministratori?? tipo.. spazio1.. spazio2...?

    Grazie in anticipo e cordialità,
    Igor.

  2. #2
    Moderatore di ASP e MS Server L'avatar di Roby_72
    Registrato dal
    Aug 2001
    Messaggi
    19,559
    Devi mettere nel db lo l'url dello spazio fisico o virtuale cui l'utente può accedere e lo metti in session.
    In ogni pagina controlli quella session cn l'URL che visualizza o cerca di visualizzare.
    Se l'URL chiamato corrisponde allo "spazio" abilitato lo lasci continuare altrimenti no.

    Roby

  3. #3
    quando controlli la session dell'utente controlli anche a quale spazio è riferito...se si trova in uno spazio non autorizzato per lui, lo reindirizzi al posto corretto

  4. #4
    Originariamente inviato da santino83
    quando controlli la session dell'utente controlli anche a quale spazio è riferito...se si trova in uno spazio non autorizzato per lui, lo reindirizzi al posto corretto
    Grazie per le pronte risposte..
    Se non ho capito male, quest'ultima parte del file:

    'final redirect
    Response.Redirect appurl & "/admin/default.asp"
    %>



    Okay it worked!</p>

    Diventa:

    'final redirect
    Response.Redirect appurl & "/spazio1/admin/default.asp"
    %>



    Okay it worked!</p>

    E' corretto ?
    Grazie,
    Igor.

  5. #5
    HELP !

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.