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

    [ASP.NET] Limitare accessi ad un sito

    Ciao a tutti.
    Sto sviluppando un sito dove ho la necessità di limitare gli accessi ad un numero stabilito.
    Premesso che tale sito verrà pubblicato su aruba, quindi non abbiamo la possibilità di gestire il numero di con IIS.
    Conoscete alternative valide per risolvere questo problema?

    - Un impostazione del web.config??
    - Un contatore su una tabella di un database? E come faccio a decrementarlo una volta che un utente termina la sessione sul sito?

    grazie e ciao.

  2. #2
    Moderatore di Programmazione L'avatar di alka
    Registrato dal
    Oct 2001
    residenza
    Reggio Emilia
    Messaggi
    24,465
    Puoi usare l'oggetto Application per memorizzare valori, ad esempio il numero di utenti connessi, e verificarli per impedire l'accesso a determinate funzionalità se queste devono essere rese disponibili solo ad un numero limitato di utenti.

    Non sono a conoscenza però di un metodo che consenta di limitare "a priori" la connessione di un utente, salvo configurazione del server che, a quanto pare, non puoi modificare.

    Forse, tra le chiavi del <web.config>, qualcosa a riguardo si può trovare... prova a fare una ricerca sulla documentazione MSDN di Microsoft a tal proposito.

    Ciao!
    MARCO BREVEGLIERI
    Software and Web Developer, Teacher and Consultant

    Home | Blog | Delphi Podcast | Twitch | Altro...

  3. #3
    Moderatore di ASP.net L'avatar di djciko
    Registrato dal
    Nov 2002
    Messaggi
    6,887
    Puoi usare la sub Application_AuthenticateRequest del Global.asax.vb (che si verifica ad ogni richiesta di accesso) e verificare una variabile Application con il numero di utenti presenti al momento nel sito...Naturalmente nel tuo sito ci deve essere, una richiesta di accesso. (cioè l'autenticazione non deve essere impostata a 'none' nel web.config)

  4. #4
    Utente di HTML.it L'avatar di 99eros9
    Registrato dal
    Jan 2003
    Messaggi
    2,637
    Un modo molto molto semplice è questo:
    Nella directory in cui limitare l'accesso, inserisci il web.config con una configurazione simile a questa:

    codice:
    		<authentication mode="Forms">
    			<forms loginUrl="paginaLogin.aspx" defaultUrl="paginaPredefinita.aspx"/>
    		</authentication>
    
    		<authorization>
    			<deny users="?"/>		
    		</authorization>
    e nella paginaLogin.aspx, qualcosa di simile per autenticare l'utente:

    codice:
        protected void Button1_Click(object sender, EventArgs e)
        {
            string _nomeUtente = txtNomeUtente.Text;
            string _password = txtPassword.Text;
          
            bool _autenticato = AutenticaUtente(_nomeUtente, _password);
            if (_autenticato)
            {
                FormsAuthentication.RedirectFromLoginPage(_nomeUtente, false);
            }
            else
            {
                lblInfo.Text = "Account non valido.";
            }
            
        }
    AutenticaNome(_nomeUtente, _password) è una funzione che fa il controllo sulla base date.
    Voglio solo ricordare che la cartella deve essere Applicazione, quindi credo che su aruba (in caso tu voglia proteggere l'accesso ad una sub-directory), dovrai chiedere di fartela convertire in applicazione.
    Tala är silver men tiga är guld!
    Pubblica il tuo curriculum
    Segnala il tuo sito
    Ancl

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.