Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    [c#] Controllo Variabile di Sessione

    Ciao, ho una variabile di sessione che mi indica se l'utente è loggato al backend del mio sito web.
    La setto dopo che l'utente ha effettuato il login e poi tutte le pagine la controllo per vedere se è scaduta oppure se l'utente non è loggato.
    Siccome le pagine sono molte, vorrei provare ad effettuare il controllo dentro una pagina dalla quale farei ereditare tutte le altre.
    Il problema sta qui : ho fatto la mia classe VerificaLogis.cs che eredita da Page e poi le mie pagine vere e proprie ereditano da VerificaLogin.
    Nel costruttore della classe VerificaLogin ho messo il controllo della mia variabile di sessione con HttpContext.Curren.Session["Variabile"]; La variabile ha sempre valore nullo! Ed è come se non fossi autenticato in nessun posto.
    Se invece valuto la variabile all'interno della pagina .aspx la vedo bella valorizzata come lho settata in precedenza.
    Devo rassegnarmi ad effettuare il controllo in tutte le pagine oppure c'è un modo che magari non ho preso in considerazione?
    Ciao e grazie
    ...NO ONE IS INNOCENT ANYMORE...

  2. #2

    Re: [c#] Controllo Variabile di Sessione

    up
    ...NO ONE IS INNOCENT ANYMORE...

  3. #3

    Re: [c#] Controllo Variabile di Sessione

    Originariamente inviato da rotteninside
    Devo rassegnarmi ad effettuare il controllo in tutte le pagine oppure c'è un modo che magari non ho preso in considerazione?
    Ciao e grazie
    Perchè non utilizzi la semplice Form authentication che asp.net ti mette a disposizione?
    Saluti a tutti
    Riccardo

  4. #4
    non so cosa sia; io ho una tabella nel db di access e quando effettuo il login faccio una query per autorizzare o meno l'utente... retaggio di asp 3.0 ???
    Hai un link da segnalarmi?
    ...NO ONE IS INNOCENT ANYMORE...

  5. #5
    ma al di là dell'autenticazione, non mi spiegavo come mai all'interno della mia classe la variabile di sessione non fosse più visibile... quale può essere il motivo?
    Ciao!
    ...NO ONE IS INNOCENT ANYMORE...

  6. #6
    Quale database utilizzi?
    Se usi sqlserver puoi predisporre la gestione dell'autenticazione interfaccia utente compresa senza scrivere una riga di codice.
    Se usi un altro db o comunque non vuoi usare il db che asp.net crea automaticamente, puoi definire una tua classe CustomMembership che eredita la classe astratta MembershipProvider. A questo punto, nella tua classe derivata implementi tutti i metodi necessari per l'autenticazione sul tuo db. Imposta poi i vari elementi nel web.config per definire quale è la pagina di login e la modalita (Form) di autenticazione. Nella pagina di login trascina dalla toolbox il controllo Login e il gioco è fatto. In ogni tua pagina ti ritroverai con un oggetto User che espone quello che hai bisogno (es. User.Identity.IsAuthenticated)

    Nella documentazione quando si dice "provider di appartenenze" è la traduzione di "membership provider"

    http://msdn.microsoft.com/it-it/library/xdt4thhy(VS.80).aspx
    http://forums.asp.net/search/SearchR...ip&o=Relevance
    http://www.singingeels.com/Articles/...PNET_AJAX.aspx
    http://msdn.microsoft.com/it-it/library/f1kyba5e(VS.80).aspx
    Saluti a tutti
    Riccardo

  7. #7
    Utente di HTML.it
    Registrato dal
    Nov 2006
    Messaggi
    559
    ciao, l problema sta che nel costruttore l'oggetto session non è ancora disponbile.
    fai l'override del metodo OnInit, e nel metodo metti il controllo che dici tu! questo perche'' nell' oninit la session è disponibile!


    spero di essermi spiegato!
    se nella vita avro avuto la possiblita di aiutare qualcuno non avro vissuto invano (E. Dikinson)

  8. #8
    Perfetto! Grazie mille era la soluzione che mi proponevo di realizzare
    ...NO ONE IS INNOCENT ANYMORE...

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 © 2026 vBulletin Solutions, Inc. All rights reserved.