• User

    Creare un sito asp login e pass con autentiche diverse

    Salve dovrei creare un accesso riservato ad una sezione del mio sito.
    Essa dovrebbe comportarsi diversamente per ogni utente che si collega.
    Gli utenti che si possono collegare sono 5.
    Il mio problema è che se :

    l'accesso viene fatto dall'utente es. 1 deve andare sulla pagina autentica 1
    l'accesso viene fatto dall'utente es. 2 deve andare sulla pagina autentica 2
    l'accesso viene fatto dall'utente es. 3 deve andare sulla pagina autentica 3
    l'accesso viene fatto dall'utente es. 4 deve andare sulla pagina autentica 4
    l'accesso viene fatto dall'utente es. 5 deve andare sulla pagina autentica 5

    Per una completa privacy dei dati contenuti nella pagina

    Ho trovato del codice su internet, ma non so' modificarlo..se qualcuno mi aiuta ne sarei grato.

    Pagina principale:

    <HTML>
    <HEAD>
    <TITLE>Autenticazione utente tramite password</TITLE>
    <style type="text/css">
    <!--
    .Stile1 {
    font-size: 24px;
    font-weight: bold;
    }
    -->
    </style>
    </HEAD>
    <BODY BGCOLOR=#BBBBFF>
    <div align="center"><span class="Stile1">DAIRY </span><BR>
    <BR>
    </div>
    <FORM ACTION="login.asp" METHOD="POST">
    <TABLE ALIGN=CENTER BORDER=0 BGCOLOR=#000000>
    <TR BGCOLOR=#EEEEEE>
    <TD WIDTH=150 ALIGN=CENTER>NOME UTENTE</td>
    <TD>
    <INPUT TYPE=TEXT NAME="nome_utente" SIZE=20>
    </td>
    </TR>
    <TR BGCOLOR=#EEEEEE>
    <TD WIDTH=150 ALIGN=CENTER>PASSWORD</td>
    <TD>
    <INPUT TYPE=PASSWORD NAME="password" SIZE=20>
    </TD>
    </TR>
    <TR BGCOLOR=#EEEEEE>
    <TD HEIGHT=30 COLSPAN=2 ALIGN=CENTER>
    <INPUT TYPE=SUBMIT NAME="show" VALUE="LOGIN">
    </TD>
    </TR>
    </TABLE>
    </FORM>
    </BODY>
    </HTML>

    PAGINA DI LOGIN:

    <%
    Dim nome_ut
    Dim pass
    nome_ut = Replace(Request.Form("nome_utente"), "'", "''")
    pass = Replace(Request.Form("password"), "'", "''")

    Dim cn
    Set cn = Server.CreateObject("ADODB.Connection")
    cn.Open "driver={Microsoft Access Driver (*.mdb)};dbq="&Server.MapPath("utenti.mdb")
    Dim sql
    sql = "SELECT ID FROM Utenti WHERE NOMEUTENTE='" &nome_ut&_
    "' AND PASSWORD='" &pass& "'"
    Dim rs
    Set rs = cn.Execute(sql)

    Dim autenticato
    if rs.eof then
    autenticato = false
    else
    autenticato = true
    end if
    rs.Close
    cn.Close
    Set rs = Nothing
    Set cn = Nothing

    if autenticato = true then
    Session("Autenticato") = "OK"
    Response.Redirect("riservato.asp")
    else
    Response.Redirect("index.asp")
    end if
    %>

    PAGINA RISERVATA:

    <%
    if Session("Autenticato")<>"OK" then
    Response.Redirect("index.asp")
    end if
    %>
    <HTML>
    <HEAD>
    <TITLE>Area riservata</TITLE>
    </HEAD>
    <BODY BGCOLOR=#BBBBFF>
    <BR><BR><BR><BR><BR>
    <DIV ALIGN=CENTER><H1>PAGINA RISERVATA</H1><BR>
    <H2>UTENTE AUTENTICATO</H2><BR></DIV>
    </BODY>
    </HTML>

    Bene la pagina riservata dovrebbe cambiare in base alla login e pass che l'utente digita.
    Spero di essere stato chiaro...grazie mille a tutti.


  • Moderatore

    devi utilizzare necessariamente un'altra variabile di sessione per memorizzare l'id o il nome dell'utente, in base a questo aplichi le restrizioni, con la sola variabile autenticato ci fai poco in questo caso

    :vaiii:


  • User Attivo

    Grande Legolas!!! Ecco chi mi ha presto il nome!!! Mi ci volevo chiamare io così 😞

    Cmq per rispondere ad alex20_it, quel che dice Legolas è vero, ti consiglio di schiaffare su una variabile tipo: "Session("TipoUtente")" la tipologia di utente (magari la metti sul db ke è meglio) che ti distingue tra i diversi tipi di utenti. E nella pagina finale un bel:

    select case Session("TipoUtente")

    case 0:

    case 1:

    etc...

    end Select

    Se le distinzioni sono solo estetiche ti basta cambiare il css da un utente all'altro, altrimenti scrivi il codice appropriato in ogni "case".
    vbmenu_register("postmenu_295196", true);