2010-05-21 11 views
5

La mia azienda ha diverse applicazioni Web scritte in ASP.NET. Dobbiamo rendere queste applicazioni disponibili agli utenti Intranet e agli utenti esterni autenticati. La maggior parte delle funzionalità sono le stesse per i due gruppi, sebbene ci siano alcune funzionalità extra disponibili per gli utenti interni. Le due diverse serie di utenti utilizzano una configurazione di sicurezza leggermente diversa ... le persone interne verranno autenticate mediante LDAP su Exchange, mentre gli utenti esterni avranno account in SQL Server.Come distribuire e proteggere un'app Web ASP.NET per essere disponibili per gli utenti interni e esterni?

Qual è l'approccio migliore per l'implementazione delle nostre app Web? Dovremmo distribuire 2 copie su diversi server, uno configurato per una Intranet e uno per utenti esterni? O c'è un modo migliore per condividere il codice tra i 2 server, eppure avere la flessibilità di utilizzare diverse impostazioni web.config per la sicurezza ??

risposta

3

Questo è quello che stai cercando: http://msdn.microsoft.com/en-us/library/ms972958.aspx

Si tratta specificamente di finestre misti e autenticazione basata su form.

È possibile proteggere le cartelle con l'aggiunta di un file web.config aggiuntivo per quella cartella:

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <system.web> 
    <authorization> 
     <allow roles="admin" /> 
     <deny users="*" /> 
    </authorization> 
    </system.web> 
</configuration> 

Quello che fa è permette a chiunque con il ruolo "admin" e nega ogni altro utente da risorse di accesso nella cartella . Ci sono molte combinazioni e possibilità disponibili. Si noti che l'ordine di dichiarazione delle autorizzazioni qui è importante. Vale la pena sperimentare in modo da comprendere appieno come funziona.

impostazioni specifiche pagine possono essere gestite in questo modo:

<location path="page.aspx"> 
    <system.web> 
     <authorization> 
     <allow roles="Administrators" /> 
     </authorization> 
    </system.web> 
</location> 
Problemi correlati