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

    [asp.net] autenticazione forms

    Sto cercando di utilizzare l'autenticazione forms per il mio sito creato con asp.net, nel file web.config ho settato:
    <authentication mode="Forms">
    <forms loginUrl="FormLogin.aspx" protection="All" timeout="30">
    <credentials passwordFormat="Clear">
    <user name="uno" password="test" />
    <user name="due" password="test" />
    </credentials>
    </forms>
    </authentication>

    <authorization>
    <allow users="uno,due" />
    <deny users="?" />
    </authorization>

    fin quì funziona tutto, l'unico problema è che io questa protezione la voglio attivare solo su una determinata cartella che sta nella root del sito e si chiamo pc.net, come faccio?

    grazie

  2. #2

    Re: [asp.net] autenticazione forms

    Originariamente inviato da alfdev
    ...io questa protezione la voglio attivare solo su una determinata cartella che sta nella root del sito e si chiamo pc.net, come faccio?
    Hai due possibilita':
    - aggiungi un web.config alla sottocartella
    - aggiungi una sezione all'interno del tag <location....> nel web.config dell'applicazione

    la seconda possibilita' ti permette quindi di applicare la protezione a specifiche pagine o specifiche cartelle.
    es.
    codice:
    <location path="pc.net">
    <system.web>
    <authentication mode="Forms"> 
    <forms loginUrl="FormLogin.aspx" protection="All" timeout="30"> 
    <credentials passwordFormat="Clear"> 
    <user name="uno" password="test" /> 
    <user name="due" password="test" /> 
    </credentials> 
    </forms> 
    </authentication> 
    <authorization>
    <allow users="uno,due" />
    <deny users="?" />
    </authorization>
    </system.web>
    </location>
    Saluti a tutti
    Riccardo

  3. #3
    l'ho fatto ma se lascio il file web.config nella root del sito mi da qst errore:

    Non è possibile utilizzare una sezione registrata come allowDefinition='MachineToApplication' al di sotto del livello di applicazione. L'errore può essere dovuto alla presenza di una directory virtuale non configurata come applicazione in IIS.


    Come posso fare?

  4. #4
    Originariamente inviato da alfdev
    l'ho fatto ma se lascio il file web.config nella root del sito mi da qst errore....
    Come posso fare?
    l'errore sembra essere dovuto al fatto che la sottocartella e' configurata come una virtual directory. Non credo sia cosi ma controlla per sicurezza (nella sottocartella non devono esserci un web.config e/o un global.asax).
    Questo problema puo' dipendere da una imperfezione nel web.config (che per certe cose e' case sensitive) quindi se l'errore perdura posta il web.config
    Saluti a tutti
    Riccardo

  5. #5
    La dir pc.net non è una directory virtuale e non contiene neanche il web.config, il contenuto del file è:
    <configuration>
    <location path="pc.net">
    <system.web>
    <httpRuntime executionTimeout="900" maxRequestLength="8192" />
    <customErrors mode="Off"/>
    <compilation debug="true" />
    <authentication mode="Forms">
    <forms loginUrl="login.aspx" protection="All" timeout="30">
    <credentials passwordFormat="Clear">
    <user name="kappa" password="test" />
    <user name="webngo" password="test" />
    </credentials>
    </forms>
    </authentication>

    <authorization>
    <allow users="kappa,webngo" />
    <deny users="?" />
    </authorization>
    </system.web>
    </location>
    </configuration>

  6. #6
    allora... ho creato una nuova webapplication con vs.net per provare il web.config. Ho creato una sottocartella chiamata sub2 e ho modificato il web.config nella root per fare in modo di proteggere la sottocartella sub2. Ti posto l'intero web.config dal quale ho tolto solo i commenti:
    codice:
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        
      <system.web>    
        <compilation defaultLanguage="vb" debug="true" />    
        <customErrors mode="RemoteOnly" />    
        <authentication mode="Forms">
        <forms loginUrl="login.aspx" protection="All" timeout="30"> 
    		<credentials passwordFormat="Clear"> 
    			<user name="kappa" password="test" /> 
    			<user name="webngo" password="test" /> 
    		</credentials> 
    	</forms> 
    </authentication>   
        <authorization>
            <allow users="*" />             
        </authorization>    
        <trace enabled="false" requestLimit="10" pageOutput="false" traceMode="SortByTime" localOnly="true" />
        <sessionState 
                mode="InProc"
                stateConnectionString="tcpip=127.0.0.1:42424"
                sqlConnectionString="data source=127.0.0.1;Trusted_Connection=yes"
                cookieless="false" 
                timeout="20" 
        />    
        <globalization requestEncoding="utf-8" responseEncoding="utf-8" />   
      </system.web>
      
    <location path="sub2"> 
    	<system.web> 
    		<authorization> 
    			<allow users="kappa,webngo" /> 
    			<deny users="?" /> 
    		</authorization> 
    	</system.web> 
    </location> 
    </configuration>
    Saluti a tutti
    Riccardo

  7. #7
    Grazie ho risolto grazie al tuo preziosissimo aiuto, sbagliavo nel settare la sezione location a tutto il file mentre dovevo farlo solo nella sezione dove metto gli utenti con i permessi...grazie ancora...

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.