Web.config: i caratteri Jolly in posizione e l’autorizzazione

Nel mio ASP.Net applicazione che sto usando l’URL routing.
Il formato dell’url è un po ‘ come: http://site/{culture}/project/{id}.

Per consentire agli utenti di visitare il login e la pagina di recupero, ho aggiunto le seguenti voci per il mio sito web.config:

<location path="en-GB/login">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>

<location path="nl-NL/login">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>

<location path="login">
  <system.web>
    <authorization>
      <allow users="*"/>
    </authorization>
  </system.web>
</location>

C’è una forma di notazione, in modo che io possa saltare la en-GB parte e sostituirlo con un carattere jolly?
Voglio il login e la pagina di recupero etc. di essere disponibile indipendentemente dalla cultura.

InformationsquelleAutor Zyphrax | 2010-12-07

 

2 Replies
  1. 3

    Non credo che si può mettere relativi percorsi nella root del web.config, ma che non è una preoccupazione. È possibile utilizzare il supporto di Web nidificate.I file di configurazione a proprio vantaggio.

    È possibile posizionare un sito web.file di configurazione simile a questa in una qualsiasi delle sotto-directory (regolazione per soddisfare le esigenze di directory specifico) e si otterrà il sostegno che cercate. È anche molto più facile da gestire come le impostazioni sono più vicini al codice del file di controllo.

    <?xml version="1.0"?>
    <configuration>
        <system.web>
          <authorization>
            <deny users="*"/>
          </authorization>
        </system.web>
    </configuration>

    Configurazione globale per i tipi di autenticazione, ruoli, etc. dovrebbe essere fatta nel web.config nella tua directory principale delle applicazioni. Come risultato, è possibile impostare una pagina di accesso separata per ogni directory di questo metodo, ma si potrebbe avere una pagina di login che viene gestita automaticamente un redirect in caso di necessità (analizzando il ReturnURL valore di QueryString).

    • Purtroppo questi non sono reali directory. Sto usando l’url routing. Non c’è en-GB-nl-NL cartella ecc ecc
    • Così internamente si utilizza lo stesso file per tutte le localizzazioni, ma il collegamento querystring valori per determinare il locale?
    • Sto usando lo stesso file per tutte le lingue. Non c’è querystring, è fatta da url routing.
    • Non sarebbe più facile quindi eseguire un controllo di sicurezza a pagina/livello di metodo?
    • Perché è questo il accettato di rispondere se non il fatto che il locale è venuta dall’URL e che non ci sono “fisica sub-directory” per ogni locale in cui collocare il web consigliati.config???
    • Ho accettato questa risposta perchè non credo che si può…” di parte. Ma hai ragione, non risponde completamente alla domanda, così ho smarcato esso.

  2. 1

    Guardando questo post, si potrebbe essere in grado di modificare l’estensione della vostra pagina di login e fare qualcosa di simile:

    <system.webServer>
      <security>
        <requestFiltering>
          <fileExtensions>
            <add fileExtension=".login" allowed="true" />
          </fileExtensions>
        </requestFiltering>
      </security>
    </system.webServer>

    Non l’ho provato, ma forse è qualcosa di tentare.

Lascia un commento